0
点赞
收藏
分享

微信扫一扫

10分钟部署一个个人博客

冶炼厂小练 2024-06-15 阅读 14

useSyncExternalStore 是 React 18 中引入的一个自定义 Hook,它允许你订阅外部存储(例如 Redux、MobX、或任何其他非 React 状态管理库)并在外部存储更新时更新你的 React 组件。这对于那些不是建立在 React 状态管理之上的外部存储特别有用。

作用

  1. 非状态数据变化触发 UI 更新useSyncExternalStore 可以让你在 React 外部定义一个状态,并在该状态变化时触发 UI 的更新。
  2. 订阅外部存储:它接收一个回调函数作为参数,并将其订阅到外部存储上。当外部存储更新时,这个回调函数会被触发,从而更新组件。

使用方法

使用 useSyncExternalStore 时,你需要提供三个函数作为参数(其中第三个是可选的):

  1. subscribe 函数

    • 作用:订阅外部存储,并在存储变化时调用提供的回调函数。
    • 参数:一个单独的 callback 参数,用于在存储变化时触发。
    • 返回值:一个取消订阅的函数。
  2. getSnapshot 函数

    • 作用:从外部存储读取数据的快照。
    • 返回值:组件需要的存储中的数据快照。注意,这个函数在存储不变的情况下应返回相同的值。
  3. getServ

举报

相关推荐

0 条评论