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>;
}
时光旅行示例
查看 时光旅行示例