Reactjs 如何用交织的数据构建Redux存储?

Reactjs 如何用交织的数据构建Redux存储?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我是React/Redux的新手,我可以参考你的建议,在我的React应用程序中如何构建以下数据模型 我有以下型号: Users Skills (id, title) UserSkills (user_id, skill_id) 我想创建一个显示用户技能的组件,我将从API/User\u Skills中获得这些技能,并返回(User\u id,skill\u id) 我应该更新API以包含呈现组件所需的额外字段(如Skill.title),还是应该使用Redux将技能也存储在Redux存储中,

我是React/Redux的新手,我可以参考你的建议,在我的React应用程序中如何构建以下数据模型

我有以下型号:

Users
Skills (id, title)
UserSkills (user_id, skill_id)
我想创建一个显示用户技能的组件,我将从API
/User\u Skills
中获得这些技能,并返回(User\u id,skill\u id)

我应该更新API以包含呈现组件所需的额外字段(如Skill.title),还是应该使用Redux将技能也存储在Redux存储中,并让UserSkills从Redux存储中找到Skill.title,如果它不存在,则获取标题?如何在Redux中最好地构建此结构,以及如何开始?

关键词是“规范化”。一旦您获得了规范化状态,您将希望在
MapStateTrops
函数中根据
Skill\u id
查找正确的技能条目


请参阅、、以及有关先前讨论和更多信息的链接。

因此,我将首先回答您的第一个问题

我是否应该更新API以包含渲染组件(如Skill.title)所需的额外字段

是的,你应该。将您的API更改为,当您提供用户id时,它应该返回该用户特有的所有技能。您的API应该类似于API/user\u skills/:id

现在您已经更改了API,让我们转到Redux。Redux的工作方式是,您发送一个特定的操作,针对每个操作,我们有一个reducer更新您的存储,相关组件通过react Redux库提供的connect方法监听存储中的更改

因此,我将通过强调总体流程来结束本文。在React组件中,您将调度操作(操作可以发出AJAX请求),针对每个操作,您将编写一个reducer,该reducer将更新应用程序的存储。在每个成功的AJAX请求中,存储将被更新,订阅存储的组件将重新呈现,因为整个存储将通过道具提供给他们


希望我能回答你的问题:)

如果我有一个50种技能的列表,会不会导致50个api查询?啊。。。对不起,我可能误解了这个问题。我以为您是在问如何在Redux中存储它们,而不是专门问API结构。不,通常您可能会发出一个返回许多不同数据字段/类型的API请求,然后将它们全部插入Redux存储中的规范化结构中。