reactjs - 将 Redux 与模型结合使用

标签 reactjs models redux

我已经开始将 Redux 与 React 结合使用,我非常喜欢它。但是,我当前遇到的问题是,除了状态之外,我还需要在整个应用程序中存储/使用更多信息。

在这种特定情况下,我有一个模型,其状态是从 API 获取的。该模型还有一些关于其自身的信息,例如如何在屏幕上显示属性“name”=>“blabla 的名称”。我了解如何使用 Redux 处理状态,但我很难了解如何处理我仍然需要在整个应用程序中传播但实际上不是状态的其他信息。

最佳答案

根据 Redux 的说法,状态是唯一的“真相来源”。并且它不应该有重复(这会导致不一致)。

因此,您的状态应该存储名称,而不是计算标签属性。

事实上,“blabla 的名称”是您的 Name 值的函数(在数学意义上),如果它们不同(例如,如果在某个时刻 name === 'foo' 但标签是 'Name酒吧的名称而不是 foo 的名称),那么你就有问题了...

所以我要做的就是将最小值存储在您的状态中(在这种情况下为名称),然后直接在组件中计算您需要的标签。

如果您需要重复使用它,则创建一个仅将您的名字作为 Prop 的组件,并使用“blablaba 的名称”渲染字符串(如果我认为 name = blabla)。

如果您需要更复杂的计算(例如您有多个标签、日期计算等),您始终可以创建一个函数,将您的状态作为输入,并在输出中吐出您的“模型”并计算所有内容。

Redux 本质上非常实用,所以你不妨拥抱它:)

关于reactjs - 将 Redux 与模型结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409161/

相关文章:

javascript - 当我更改组件时,如何重新定义 reducer 的初始状态

javascript - 期望 reducer 是一个函数

reactjs - react 表格重新渲染,在表格单元格中输入文本时失去焦点

javascript - 如何使用 React 只渲染数组的三个元素?

python - Django Model.objects.all() 不显示在建议中

javascript - 当状态更新时,我失去了对动态创建的 jsx 输入的关注

node.js - Meteor 构建在部署到 Heroku 时中断

javascript - 如何在 React JSX 中添加空格

django - Django 模型中的有序列表

php - 模型代码点火器上的查询数组