在 react-native 中获取数据时出现错误
Posted
技术标签:
【中文标题】在 react-native 中获取数据时出现错误【英文标题】:I am getting error while fetching data in react-native 【发布时间】:2019-07-12 21:32:32 【问题描述】:这里是api链接:
http://api.aladhan.com/v1/timingsByCity?city=Dubai&country=United%20Arab%20Emirates&method=8
<Text>responseMsg.code</Text>
<Text>responseMsg.status</Text>
上面的行是有效的。 我能够从这个 API 中获取数据,例如代码、状态,但我无法从这个 API 中获取祈祷时间。我不知道如何编写该行以从该 API 获取祈祷时间。
<Text>(responseMsg.data || []).map(time => time.timings.Fajr)</Text>
<Text>(responseMsg.data || []).map(time => time.timings.Dhuhr)</Text>
我收到以下错误TypeError: undefined is not an object (evaluating '(responseMsg.data || ).timings.Fajr')
【问题讨论】:
究竟是什么错误? 错误是:TypeError: undefined is not an object (evalating '(responseMsg.data || ).timings.Fajr') 【参考方案1】:您应该直接访问时间,因为 data 字段是对象而不是数组。你要写的是:
<Text>(responseMsg.data || ).timings.Fajr</Text>
【讨论】:
没有兄弟,它也不起作用。错误是:TypeError: undefined is not an object (evalating '(responseMsg.data || ).timings.Fajr') 哦,是的!因为在获取数据时,时间键是未定义的。也许你可以像这样responseMsg.data && responseMsg.data.timings ? <Text>responseMsg.data.timings.Fajr</Text> : null
将它包装成三元组
或者您可以将其保存在变量中,例如:const data = = responseMsg; const timings = = data;
它在数据>元>方法>名称.. responseMsg.data && responseMsg.data.meta ? .Map on responseMsg.data 将不起作用,因为数据是一个对象。 Map 是数组而不是对象的函数。
【讨论】:
那么我如何在没有 .map 的情况下为 fetch 编写代码? 不需要使用map直接用responseMsg.data.timings.Fajr
访问对象即可。以上是关于在 react-native 中获取数据时出现错误的主要内容,如果未能解决你的问题,请参考以下文章
在 setInterval 方法中使用 getCurrentPosition geoLocation 函数通过 React-Native 获取用户当前位置时出现问题
使用 react-native run-android 运行时出现 React-Native 错误
在下面执行 npm install gettng 时出现 react-native 错误
尝试执行 react-native 应用程序时出现“错误无法读取未定义的属性‘拆分’”