跳至主要內容

useRecoilBridgeAcrossReactRoots()

一個 hook,用於協助將 Recoil 狀態與巢狀 React 根與呈現進行橋接。

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

如果使用 ReactDOM.render() 建立巢狀 React 根,或使用巢狀自訂呈現,React 將不會將內容狀態傳播到子根。如果您想要「橋接」並與巢狀 React 根共用 Recoil 狀態,這個 hook 會很有用。這個 hook 會傳回一個 React 元件,您可以使用它取代巢狀 React 根中的 <RecoilRoot> 以共用相同的 Recoil 儲存狀態。如同任何跨 React 根的狀態共用一般,在所有情況下,變更可能無法完美同步。

範例

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

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

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