react-query 自定义查询焦点状态FocusManager、自定义在线状态OnlineManager、自定义输出setLogger
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了react-query 自定义查询焦点状态FocusManager、自定义在线状态OnlineManager、自定义输出setLogger,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1535字,纯文字阅读大概需要3分钟。
内容图文
1、自定义焦点事件:
粗浅理解:自定义焦点后,能根据自定义的焦点获取时,使得react-query能重新获取状态
例子为默认焦点设置:
import { focusManager } from 'react-query'
focusManager.setEventListener(handleFocus => {
if (typeof window !== 'undefined' && window.addEventListener) {
window.addEventListener('visibilitychange', handleFocus, false) 监听窗口切换
window.addEventListener('focus', handleFocus, false) 监听窗口获得焦点事件
}
return () => { 还必须定义清除副作用函数
window.removeEventListener('visibilitychange', handleFocus)
window.removeEventListener('focus', handleFocus)
}
})
手动获取焦点
focusManager.setFocused(true)
focusManager.setFocused(undefined) 回退到默认的焦点检查
获取是否被焦点状态
const isFocused = focusManager.isFocused() 返回当前焦点状态布尔值
2、自定义在线状态
粗浅理解:在线会重启react-query,离线会关掉react-query服务
自定义在线状态:
import NetInfo from '@react-native-community/netinfo'
import { onlineManager } from 'react-query'
onlineManager.setEventListener(setOnline => { setEventListener自定义在线状态
return NetInfo.addEventListener(state => {
setOnline(state.isConnected)
})
})
手动设置在线状态
onlineManager.setOnline(true)
onlineManager.setOnline(undefined); 回退到默认的在线检查
获取当前在线状态
const isOnline = onlineManager.isOnline()
3、自定义setLogger
自定义react-query的输出内容方式,默认情况下使用window.console,如果在环境中没有找到全局控制台对象,则不会记录任何内容。
setLogger({
log: message => {
Sentry.captureMessage(message)
},
warn: message => {
Sentry.captureMessage(message)
},
error: error => {
Sentry.captureException(error)
},
})
内容总结
以上是互联网集市为您收集整理的react-query 自定义查询焦点状态FocusManager、自定义在线状态OnlineManager、自定义输出setLogger全部内容,希望文章能够帮你解决react-query 自定义查询焦点状态FocusManager、自定义在线状态OnlineManager、自定义输出setLogger所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。