我使用rtk查询。
如果我关闭我的互联网连接并导航到一个屏幕,我看到没有加载器和/或其他东西,我什么也看不到。所以当我打开我的互联网连接,然后什么也没有发生。我怎么告诉用户,当互联网离线,我给他发了一条消息,当互联网上,rtk查询自动重新获取数据?
Cart.tsx
const ShoppingCart: React.FC<Props> = ({}) => {
const user_id = useSelector((state: RootState) => state.Auth.user.user_id);
const { data, isFetching, isLoading } = useCartQuery({user_id});
if(isLoading) {
return (
<Loader />
)
} else if(data && data.length > 0) {
return (
<ShoppingCartComponent
products={data}
/>
)
} else if(data && data.length === 0) {
return (
<ShoppingCartEmpty />
)
}
}
export default ShoppingCart;
推车ts API
reducerPath: 'ShoppingCartApi',
baseQuery: fetchBaseQuery({ baseUrl: `${API_ENDPOINT}/` }),
tagTypes: ['CART'],
endpoints: (builder) => ({
cart: builder.query<IProduct[], { user_id?: number; unlogged_uuid?: string; }>({
query: (data) => ({
url: '/cart',
method: 'POST',
body: data
}),
providesTags: ['CART']
}),
1条答案
按热度按时间njthzxwz1#
你可以使用
navigator.onLine
来检查用户的设备当前是否在线,然后监听online事件,当设备的互联网连接恢复并重新获取数据时触发该事件。