gpt4 book ai didi

javascript - 在 Redux 应用程序中放置模型特定业务逻辑的位置

转载 作者:数据小太阳 更新时间:2023-10-29 05:07:23 26 4
gpt4 key购买 nike

我很难理解我应该将一些功能放在我正在构建的 Redux/React 应用程序中的什么位置。

我的场景如下,在我当前的应用程序中,我有几个 JS 类,它们环绕特定的 json 对象并提供方法来根据特定条件转换数据的各个部分。例如,他们有一个 getProperty('name') 方法,可以查找当前主机环境并返回该主机的正确子属性值。

在 Redux 应用程序中,哪里是实现此逻辑的正确位置?理想情况下,我想将它封装在一个模型中,这样其他开发人员就不需要在每个 View 中重新实现它。

在我的数据加载操作中将 json 数据转换为一个类并通过 reducer 将其存储在商店中是否正确?如果是这样,我如何确保状态不会通过类中的 setter 方法发生突变?

感谢任何帮助/意见。

最佳答案

如果你想为 View 转换模型数据,最好在 reducers 之外进行。通常我们建议您导出采用当前 state 的函数(以及可能的其他参数,例如您的情况下的 environment )并返回 View 需要的任何内容,例如 getVisibleTodos(状态)。此类函数的组合方式与组合 reducer 的方式类似,事实上,我们建议将它们与 reducer 一起定义,这样您就不会忘记在状态形状发生变化时更改它们。

shopping cart example演示了这种方法。但是,在每次状态更改时重新计算所有派生状态是低效的。这就是为什么我们建议使用像 Reselect 这样的库。这让您可以将选择器函数组合为其他选择器函数的依赖项,并记住这些值,以便在没有必要的情况下不会重新计算它们。

请引用Computing Derived Data有关此方法的更多信息。

关于javascript - 在 Redux 应用程序中放置模型特定业务逻辑的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com