react教程,如何利用useSyncExternalStore订阅联网状态?
发布于 作者:苏南大叔 来源:程序如此灵动~

本文将使用react
的useSyncExternalStore
函数订阅浏览器的联网状态,动态在页面上展示联网状态。useSyncExternalStore
带着use
开头,所以肯定是专用于函数组件的hook
函数。主要用于在react
项目中使用外部第三方的数据源。

苏南大叔的程序如此灵动博客,记录苏南大叔和计算机代码的故事。测试环境:create-react-app@5.0.1
,react@18.2.0
,react-dom@18.2.0
,node@16.14.2
。
useSyncExternalStore
函数原型:
react
的函数,总是有些难以理解。
- 第一个参数
subscribe
就是订阅函数(同时也处理退订)。 - 第二个参数
getSnapshot
就是拿到数据后怎么处理,处理之后得到useSyncExternalStore
的返回值。 - 第三个参数,和
ServerSideRender
有关,目前就暂不生效。

navigator.onLine
原理上来说,监控联网状态就是监控window.navigator.onLine
。
开始监控联网状态:
停止监控联网状态,需要特别说明的是:这里也需要传入callback
参数。必须提取callback
到一个变量,否则无法解除监控监听。

完整代码
结束语
更多react
经验文章,请点击苏南大叔的相关文章:


