OnlineManager
定义于:packages/query-core/src/onlineManager.ts:15
OnlineManager 用于管理 TanStack Query 中的在线状态。你可以用它来更改默认事件监听器,或手动更改在线状态。
默认情况下,onlineManager 假设网络连接处于活跃状态,并监听 online 和 offline 事件(在 window 对象上)以检测状态变化。
继承自
Subscribable<Listener>
方法
hasListeners()
1hasListeners(): boolean;定义于:packages/query-core/src/subscribable.ts:43
当至少有一个监听器已注册时返回 true;所有监听器均已取消订阅后返回 false。
返回值
boolean
若至少有一个监听器已注册,则返回 true。
继承自
1Subscribable.hasListenersisOnline()
1isOnline(): boolean;定义于:packages/query-core/src/onlineManager.ts:111
isOnline 可用于获取当前在线状态。
返回值
boolean
若处于在线状态,则返回 true。
setEventListener()
1setEventListener(setup: SetupFn): void;定义于:packages/query-core/src/onlineManager.ts:76
setEventListener 可用于设置一个自定义事件监听器,该监听器将用于判定在线状态。所提供的 setup 函数接收一个 setOnline 回调;每当在线状态发生变化时,应使用一个 boolean 值调用该回调。
参数
setup
SetupFn
接收 setOnline 回调,注册事件监听器,并可返回一个清理函数——当监听器被替换或不再需要时,该函数会被调用。
返回值
void
示例
1import NetInfo from '@react-native-community/netinfo'2import { onlineManager } from '@tanstack/query-core'3 4onlineManager.setEventListener((setOnline) => {5 return NetInfo.addEventListener((state) => {6 setOnline(!!state.isConnected)7 })8})setOnline()
1setOnline(online: boolean): void;定义于:packages/query-core/src/onlineManager.ts:96
setOnline 可用于手动设置在线状态。
参数
online
boolean
在线状态。
返回值
void
示例
1import { onlineManager } from '@tanstack/query-core'2 3// Set to online4onlineManager.setOnline(true)5 6// Set to offline7onlineManager.setOnline(false)subscribe()
1subscribe(listener: Listener): () => void;定义于:packages/query-core/src/subscribable.ts:28
注册一个监听器,使其在该对象通知每次更新时被调用。返回一个用于移除该监听器的函数——调用它即可停止监听。基类自身永远不会主动移除监听器,但某些子类会在 destroy() 中清空全部监听器。
参数
listener
Listener
每次更新时被调用,参数为子类传递给其订阅者的任意值。
返回值
一个用于移除监听器的函数。
() => void
示例
1const unsubscribe = subscribable.subscribe(() => {2 // react to the update3})4 5unsubscribe()继承自
1Subscribable.subscribe