2016-04-21 58 views
0

我有一个非常普遍的问题,但我不能找到一个很好的解决方案,而不是谷歌,计算器一个方向......终极版存储一般的数据,非持久

我在我的应用程序一对夫妇减速的反映我状态树。 “用户”缩减器和“调查”缩减器(制作调查应用程序)。但现在我想为用户创建一个配置文件页面。所有可用字段的答案都会自动进入“用户”商店,但列表选项如何?例如,选择你的性别(m/f)或选择你最喜欢的过去时间......不知何故,我觉得这些选项不应该驻留在用户商店中,或者我错了吗?我觉得对于特定的用户,我希望有一个说'性别:m'的状态,但是在应用程序中,我想显示'男'而不是'm'。或者我从无到有做一件大事,我应该只保留一个这样的标签/价值物品的大关键/价值列表,以便这样访问它?

+1

''不会做诡计吗? – Kujira

回答

1

如果它们是简单的属性(例如性别),我同意@kujira可以根据您的需要设置底层值(例如男性为m),然后在您的JSX中以不同方式显示它们,如果这真的是您想做。

至于用户属性是否应该放入Users缩减器中,答案可能是肯定的。仅仅因为这个模型可能有很多属性并不意味着你需要创建另一个reducer。通常你想尽可能保持你的redux状态正常化。规范化表示一对一关联进入同一个表(或者在这种情况下,还原状态)。

唯一的情况下,你可能有不同的减速机是当你基本上有一个单独的模型,并且两者在一对多或多对多关系中相互关联。如果它是一对一的关系,或者你只是想将一个属性约束到某些值,那么规范化的规则就会说它保持在同一个模型上。

如果你担心如何执行的约束,你可以在减速,如果不是mf以外的值传递的gender那个吹了您的应用程序添加一个检查,但是这样的练习过度防御式编程。如果你真的觉得你需要走这条路线,那么可以考虑的选项是Facebook flow注释。