0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Recoil公式ドキュメント 翻訳㉓ APIリファレンス-Core-Snapshots-useRecoilTransactionObserver_UNSTABLE()

Last updated at Posted at 2020-10-30

Recoilの公式ドキュメントをgoogle翻訳するとコードまで翻訳されてしまうのが面倒なのでQiitaにまとめてみます。

追々追加していきます。(多分)

公式ドキュメント

目次

全目次は一番下にあります


useRecoilTransactionObserver_UNSTABLE(callback)

NOTE:このAPIは不安定であると考えてください

​このhookは、atomのstateが変更されるたびに実行されるコールバックを登録します。​1つのトランザクションで複数の更新をバッチ処理できます。​このhookは、state変更、開発ツール、ビルド履歴などを保持するのに最適です。

function useRecoilTransactionObserver_UNSTABLE(({
  snapshot: Snapshot,
  previousSnapshot: Snapshot,
}) => void)

​コールバックは、Reactバッチトランザクションの現在および前のstateのsnapshotを提供します。​個々のatomの変更のみを登録したい場合は、代わりにeffectsを考慮してください。​将来的には、特定の条件に登録する機能や、パフォーマンスに関するデバウンスを提供できるようになる可能性があります。

デバッグの例

function DebugObserver() {
  useRecoilTransactionObserver_UNSTABLE(({snapshot}) => {
    window.myDebugState = {
      a: snapshot.getLoadable(atomA).contents,
      b: snapshot.getLoadable(atomB).contents,
    };
  });
  return null;
}

function MyApp() {
  return (
    <RecoilRoot>
      <DebugObserver />
      ...
    </RecoilRoot>
  );
}

参考サイト

公式ドキュメント
IT用語辞典 BINARY トランザクション
デバウンスとは
みらい翻訳


全目次

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?