javascript - 无法读取未定义的属性“日期” - 仅当 FlatList
问题描述
我有一个奇怪的问题。过程:
1)我在useEffect中从api获取一个对象数组meetings
useEffect(() => {
trackPromise(
bookingContext.getUserMeetings(state.token, state.userId),
"getUserMeetings"
);
}, []);
2)如果他的渲染(所以第一次渲染是空的 - 并且在useEffect之后从“MeetingContext”获取数组,我会渲染数组
{bookingContext.state.userMeetings.length > 0 ? (
<View style={styles.container}>
<Text>{bookingContext.state.userMeetings[0].date}</Text>.............
到目前为止它有效
现在,当我将最后一行更改为( bookingContext.state.userMeetings[0].date} )
这样的平面列表时:
<FlatList
data={bookingContext.state.userMeetings}
renderItem={({ meet }) => (
<Text>{meet.date}</Text>
)}
keyExtractor={meet => meet._id}
/>
并尝试呈现他告诉我“TypeError:无法读取未定义的属性'日期'” 他不在乎我的条件或什么都不在乎......它只是粉碎。
4) **我在 react-promise-tracker 中用于加载并用它包装使用效果。
问题:为什么使用平面列表它不起作用并且在常规语法中(如第 2 部分)它起作用。
问题2:有没有办法告诉react先等到使用效果中的promise完成,然后他完成渲染数组?
解决方案
推荐阅读
- python-3.x - 为什么打印功能会打印圆括号?(ex: << print(i, "this number is even") >> output: << (1, 'this number is even') >>
- r - 将日期格式从 YY WW 更改为 DD-MM-YYYY
- python - GeoJSON 数据不包含有意义的数据 GeoDjango
- html - 如何将 npm 包链接到我的 html 中?(例如 aos)
- algorithm - 如何从球面上的当前点(纬度/经度)找到线段上最近的点
- azure-aks - 所有可用的负载均衡器都超过了最大规则限制 148
- windows - 在 Windows 10 上使用命令行或 Powershell 关闭“此 PC”
- python - 了解 tensorflow 中的设备分配、并行性(tf.while_loop)和 tf.function
- angular - 为什么 ng build --prod 失败,而 ng build 成功?
- java - 如何在表格上设置背景颜色或图像?