Recoil環境
RecoilEnv
RecoilEnv
は、読み取りまたは設定できるRecoil環境変数を含むオブジェクトです。
RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED
:boolean
- NextJSなど、モジュールが正当に再ロードされる可能性のある環境、または開発中にReactの高速リフレッシュを使用する場合などに、重複するatom/selectorキーのチェックを無効化するために役立ちます。これは正当なエラーを含むすべてのチェックを無効にするため、慎重に使用してください。RECOIL_GKS_ENABLED
:Set<string>
- Recoilには、ゲートキーパー(GK)と呼ばれる、不安定な動作変更内部フラグのセットが含まれています。これらのフラグは、テスト、改善、安定化されるにつれて、通常のRecoilリリースに段階的に組み込まれます。この変数を使用すると、新しい実験的機能を試したい場合に、追加のフラグをオプトインできます。GKを有効にするには、最初の
<RecoilRoot>
を作成する前に、それをセットに追加します。RecoilEnv.RECOIL_GKS_ENABLED.add('recoil_transition_support');
使用可能なフラグの抜粋
recoil_hamt_2020
(デフォルトで有効) -Map<K, V>
の実装をハッシュ配列マップトライに切り替えます。recoil_sync_external_store
(デフォルトで有効) - 使用中のReactのバージョンが提供する場合、useSyncExternalStore()
のサポートを有効にします。recoil_suppress_rerender_in_callback
(デフォルトで有効) - セレクターの値が参照の等価性で比較して変更されない場合、コンポーネントの再レンダリングを回避します。recoil_memory_managament_2020
(デフォルトで有効) - atom定義で設定されている場合、atomとselectorの内容がコンポーネントによって使用されなくなったときに、自動的に解放するガベージコレクションを実装します。recoil_transition_support
-*_TRANSITION_SUPPORT_UNSTABLE()
フックを使用する必要がない代わりに、ReactトランジションとuseTransition()
のサポートをデフォルトで有効にします。recoil_sync_external_store
よりも優先されます。
NodeJS
環境変数は、NextJsなどのNodeJS環境でも、process.env
を設定することで初期化できます。process.env
から設定された変数は、データ型に従って解析されます。
boolean
-true
またはfalse
(大文字と小文字は区別されません)Set<string>
- スペースまたはコンマで区切られた文字列のリスト(例:a b c
またはa,b,c
)。デフォルトでセットに存在する値に追加されます(現在、セット全体を上書きすることはできません)。