私はキーボードショートカットのサポートを私のReact/Reduxアプリにの慣用のReact/Reduxの方法でビルドしようとしています。減速が続いactionCreatorFuncReferencesへのキーコードのマッピングにReduxのストアにregisteredShortcutsオブジェクトを更新してしまう関数リファレンスをReduxストアに格納する必要がありますか?
registerShortcut(keyCode, actionCreatorFuncReference)
:私はこれを行うことを計画しています方法は、次のアクションの作成者と関連付けられたアクションを持つことです。次に、私のルートコンポーネントはkeyupをlistenし、関連付けられたkeyCodeが登録されているかどうかを確認し、そうであれば、アクション作成者関数リファレンスを介してマップされたアクションをディスパッチします。
ただし、これは私がのReduxストアに関数参照を格納する初めてのケースです。今日まで私はバニラ値(文字列、intsなど)を持つキーを持つオブジェクトしか持っていませんでした。
Reduxのドキュメントでは、「状態をシリアライズ可能にするために最善を尽くしてください。その中にJSONを簡単に入れられないものは入れないでください。」 Reduxストアにそのような関数リファレンスを格納することは悪い考えですか?もしそうなら、私がReact/Reduxでやろうとしていることを達成する良い方法は何ですか?
代替アプローチは、ルート・リアクション・コンポーネント自体にkeyCodeと関数参照のマッピングを格納するだけですが、アプリケーション状態がReduxストアにないため、Reduxのようには感じられませんでした。
私はこのようなことについて自分自身が疑問に思っています。 Redux状態は確実にシリアライズ可能である必要がありますが、時々(約束事など)あなたが周りに置いておきたいことがあります。私はちょうどhttps://github.com/rackt/redux/issues/1385でこの質問を提起 - 私たちは何かが現れたら表示されます。 – markerikson