跳转到主要内容

useGotoRecoilSnapshot(snapshot)

此钩子函数返回一个以 Snapshot 作为参数的回调函数,并且将更新当前的 <RecoilRoot> 状态以匹配 atom 状态。

function useGotoRecoilSnapshot(): Snapshot => void

交易示例#

重要提示: 此示例效率并不高,因为它将订阅该组件的所有状态改变以便重新渲染。

function TransactionButton(): React.Node {
const snapshot = useRecoilSnapshot(); // 订阅所有状态改变
const modifiedSnapshot = snapshot.map(({set}) => {
set(atomA, x => x + 1);
set(atomB, x => x * 2);
});
const gotoSnapshot = useGotoRecoilSnapshot();
return <button onClick={() => gotoSnapshot(modifiedSnapshot)}>执行交易</button>;
}

时间旅行示例#

请查看 时间旅行示例