教程 > Recoil.js > Recoil 手册 阅读:18

useGotoRecoilSnapshot(snapshot)

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

function useGotoRecoilSnapshot(): Snapshot => void

Transaction 示例

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

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>;
}

查看笔记

扫码一下
查看教程更方便