Skip to main content

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

时间旅行示例#

请查看 时间旅行示例