跳至主要内容

useGotoRecoilSnapshot(snapshot)

此 Hook 返回一个回调函数,它接收一个 Snapshot 作为参数,并将更新当前 <RecoilRoot> 状态以匹配此原子状态。

function useGotoRecoilSnapshot(): Snapshot => void

事务示例

重要提示:此示例效率不高,因为它会订阅组件以对所有状态更改重新渲染。

function TransactionButton(): React.Node {
const snapshot = useRecoilSnapshot(); // Subscribe to all state changes
const modifiedSnapshot = snapshot.map(({set}) => {
set(atomA, x => x + 1);
set(atomB, x => x * 2);
});
const gotoSnapshot = useGotoRecoilSnapshot();
return <button onClick={() => gotoSnapshot(modifiedSnapshot)}>Perform Transaction</button>;
}

时光旅行示例

查看 时光旅行示例