我是 React Native 的新手,我在使用 FlatList 时遇到了问题。我将 extraData 分配给 redux 值,但在 redux 更新时它不会重新呈现 FlatList 。我想我应该将它分配给一个本地状态,但是我有太多的重新渲染错误。非常感谢任何帮助我的人! 下面是我的代码
function CartScreen() {
const cart = useSelector((state) => state.cartReducer);
console.log(cart);
const dispatch = useDispatch();
useEffect(() => {
dispatch(cartActions.refreshCartAction(cart));
}, []);
const renderItem = ({ item }) => {
return <CartItem book={item} />;
};
return (
<View>
<FlatList
data={cart}
renderItem={renderItem}
keyExtractor={(item) => item._id.toString()}
extraData={cart}
/>
</View>
);
}
export default CartScreen;
答案 0 :(得分:1)
如果全局状态的数据是异步的 你必须这样做
{cart && <FlatList
data={cart}
renderItem={renderItem}
keyExtractor={(item) => item._id.toString()}
extraData={cart}
/>
}
答案 1 :(得分:1)
我在解决问题的 redux 操作中发现了一个错误。谢谢大家!!