【发布时间】:2021-11-02 08:41:17
【问题描述】:
我正在编写一个以 aws amplify 作为后端的 react 本机移动应用程序,
为了在我的应用中获取实时更新,我在 useEffect 挂钩中使用了这样的订阅,
const[cartProducts, setcartProducts] = useState <CartProduct[]>([]);
const getCartProduct = async () => {
await DataStore.query(CartProduct, c=>c.userID("eq", currentUserId))
.then(setcartProducts)
};
useEffect(() => {
const subscription = DataStore.observe(CartProduct, d=>d.userID("eq", UserId))
.subscribe(msg => getCartProduct(),);
return subscription.unsubscribe;
}, []);
数据的查询发生在 getCartProduct() 函数中,
但问题是每当我关闭我的应用程序并重新打开此屏幕时,获取功能 (getCartProduct) 都不会运行 我猜是因为后端的数据(cartProducts)没有变化。
当我在后端更改 cartProducts 数据时,获取功能 (getCartProduct) 会再次运行
解决办法是什么?
【问题讨论】:
标签: javascript amazon-web-services react-native react-hooks aws-amplify