メインコンテンツにスキップ

syncEffect(...)

外部の状態とアトムを同期するためのrecoil-syncライブラリのアトム効果を取得するための関数です。<RecoilSync>コンポーネントで定義されている外部の状態。


function syncEffect<T>(options: {
refine: Checker<T>,

itemKey?: string,
storeKey?: string,

syncDefault?: boolean,

// Optional for advanced mappings
read?: ReadAtom,
write?: WriteAtom<T>,
}): AtomEffect<T>

オプション

  • itemKey - 外部ストアのこの特定のアトムの文字列キーです。指定しない場合、アトム自身のキーが既定値になります。
  • storeKey - この効果と同期する<RecoilSync>ストアと一致させる文字列キーです。
  • syncDefault - trueの場合、アトムは外部状態をクリアまたはリセットする代わりに、実際の既定値を同期します。これの設定は、アトムが最初に読み取られたときに、設定されたときだけでなく既定値を書き込もうとします。
  • read - 外部ストアからこのアトムを読み取る方法を説明するオプションのコールバックです。
  • write - 外部ストアにこのアトムを書き込む方法を説明するオプションのコールバックです。

同期効果ガイドに例を参照してください。

高度なマッピング

read インターフェース

type ReadItem = ItemKey =>
| void
| DefaultValue
| Promise<DefaultValue | mixed>
| Loadable<DefaultValue | mixed>
| mixed;

type ReadAtom = ({read: ReadItem}) =>
| DefaultValue
| Promise<DefaultValue | mixed>
| Loadable<DefaultValue | mixed>
| mixed;

write インターフェース

type WriteItem = <T>(ItemKey, DefaultValue | T) => void;
type ResetItem = ItemKey => void;

type WriteAtomInterface = {
write: WriteItem,
reset: ResetItem,
read: ReadItem,
};
type WriteAtom<T> = (WriteAtomInterface, DefaultValue | T) => void;

これらの例を参照してください。