如何解决使用 redux 时如何重新渲染 FlatList React Native
我是 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;
解决方法
如果全局状态的数据是异步的 你必须这样做
{cart && <FlatList
data={cart}
renderItem={renderItem}
keyExtractor={(item) => item._id.toString()}
extraData={cart}
/>
}
,
我在解决问题的 redux 操作中发现了一个错误。谢谢大家!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。