文件名称:在用户空间中React useContextSelector 钩子
文件大小:220KB
文件格式:ZIP
更新时间:2024-06-28 08:29:31
Awesome React Hooks
use-context-selector React useContextSelector hook in userland 介绍 React Context 和 useContext 通常用于避免 prop 钻取,但是众所周知存在性能问题。 当上下文值更改时,所有 useContext 的组件都将重新渲染。 为了解决这个问题,提出了 useContextSelector,后来又提出了具有上下文选择器支持的 Speculative Mode。 该库在用户空间提供 API。 在 v1.3 之前,它使用 changedBits=0 特性来停止传播,v1.3 不再依赖于这个未记录的特性。 安装 这个包需要一些peer依赖,需要自己安装。 yarn add use-context-selector react scheduler 库作者注意事项:请不要忘记保留“peerDependencies”并注意让用户安装对等依赖项的说明。 技术备忘录 为了使它像原始 React 上下文一样工作,它特意使用了 useReducer 作弊模式。 它还需要 useContextUpdate 在并发模式下表现得
【文件预览】:
use-context-selector-master
----.eslintrc.json(1KB)
----.gitignore(28B)
----.codesandbox()
--------ci.json(85B)
----package.json(3KB)
----src()
--------batchedUpdates.native.ts(109B)
--------index.ts(8KB)
--------batchedUpdates.ts(99B)
----webpack.config.js(893B)
----LICENSE(1KB)
----CHANGELOG.md(3KB)
----tsconfig.json(386B)
----.github()
--------workflows()
----__tests__()
--------01_basic_spec.tsx(2KB)
--------06_bridge_spec.tsx(2KB)
--------03_stale_props_spec.tsx(2KB)
--------05_cm_spec.tsx(2KB)
--------__snapshots__()
--------02_tearing_spec.tsx(1KB)
----examples()
--------02_typescript()
--------01_minimal()
----README.md(7KB)
----yarn.lock(512KB)