扫码一下
查看教程更方便
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>;
}