Dois-je conserver les références de fonction dans Redux magasin?

Je suis en train de construire raccourci clavier de soutien dans mon Réagir/Redux app dans un idiomatiques Réagir/Redux façon. La façon dont j'ai prévu de le faire c'est avoir l'action suivante, le créateur et associé de l'action:

registerShortcut(keyCode, actionCreatorFuncReference)

Le réducteur serait alors de mettre à jour un registeredShortcuts objet dans le redux magasin avec un mappage de touches à actionCreatorFuncReferences. Puis mon composant racine serait à l'écoute pour keyup et voir s'il est associé à un mot de code enregistré, et si oui, alors l'envoi de l'mappé action via l'action créateur de la fonction de référence.

Cependant, ce serait la première fois que je suis stocker des références de fonction dans mon Redux magasin. À ce jour, je n'ai eu que des objets avec des touches à la vanille, avec des valeurs (chaînes de caractères, entiers, etc).

Le Redux docs dit "Vous devriez faire de votre mieux pour maintenir l'état serializable. Ne rien mettre à l'intérieur que vous ne pouvez pas facilement se transformer en JSON.". Cela suggère que c'est une mauvaise idée de stocker ces références de fonction dans mon Redux magasin? Si oui, quelle est la meilleure façon d'accomplir ce que je suis en train de faire à Réagir/Redux?

Une approche alternative est juste pour stocker la cartographie des codes de touche et la fonction des références à la racine de réagir composant lui-même, mais qui ne se sent pas très Redux-comme depuis maintenant l'état de l'application n'est pas dans le Redux magasin.

  • J'ai sorte de me demandais à propos de ce genre de chose moi-même. Alors que Redux état doit absolument être sérialisable, il y a d'autres choses que vous pourriez vouloir conserver à la fois (des promesses, etc). J'ai juste soulevé cette question au cours de github.com/rackt/redux/issues/1385 - nous allons voir si quelque chose arrive.
InformationsquelleAutor Sachin Rekhi | 2016-02-10