使用 redux 时如何重新渲染 FlatList React Native
How to re render FlatList React Native when working with redux
我是 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 操作中发现了一个错误。谢谢大家!!
我是 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 操作中发现了一个错误。谢谢大家!!