跳至主要内容

useRecoilBridgeAcrossReactRoots()

一个帮助将 Recoil 状态与嵌套的 React 根和渲染器连接起来的钩子。

function useRecoilBridgeAcrossReactRoots_UNSTABLE():
React.AbstractComponent<{children: React.Node}>;

如果使用 `ReactDOM.render()` 创建嵌套的 React 根,或者使用嵌套的自定义渲染器,React 将不会将上下文状态传播到子根。如果您想“桥接”并将 Recoil 状态与嵌套的 React 根共享,此钩子很有用。该钩子返回一个 React 组件,您可以在嵌套的 React 根中使用它来代替 `<RecoilRoot>`,以共享相同的一致 Recoil 存储状态。与跨 React 根共享任何状态一样,在所有情况下更改可能不会完全同步。

示例

function Bridge() {
const RecoilBridge = useRecoilBridgeAcrossReactRoots_UNSTABLE();

return (
<CustomRenderer>
<RecoilBridge>
...
</RecoilBridge>
</CustomRenderer>
);
}

function MyApp() {
return (
<RecoilRoot>
...
<Bridge />
</RecoilRoot>
);
}