我正在尝试在React Native中过滤一些数据,但是当数据来自JS文件时,当它们来自firebase DB时它会起作用,它说“未定义不是一个对象(评估MeasuresList.filter
)”
这是代码
<FlatList style={styles.flatList}
data = {ExercisesList.filter(item => item.muscle === "shoulders")}}
keyExtractor={(item) => item.id}
renderItem={({ item }) =>
{item.name}
}
/>
如果我删除过滤器部分并进入屏幕,我可以看到包含所有练习的平面列表,如果我添加过滤器部分并保存,我可以看到过滤后的元素并且它可以工作。问题是,当我添加过滤器代码时,我无法进入此页面,即使它看起来有效,为什么在我进入屏幕之前“MeasuresList.filter
”未定义?
最佳答案
尝试以下:
Array.isArray(MeasuresList) && MeasuresList?.filter
您还应该将 MeasuresList
的默认值设置为 []
关于reactjs - 过滤 Flatlist 时未定义不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67619365/