如何在使用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操作中发现了一个错误。谢谢大家! !