首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可以在redux存储中存储类的函数和实例吗?

可以在redux存储中存储类的函数和实例吗?
EN

Stack Overflow用户
提问于 2017-10-12 02:02:20
回答 1查看 3.5K关注 0票数 5

我想知道什么可以存储,什么不能存储在redux存储中,以及为什么不能存储哪些不能存储。

我听说我不应该存储Class的实例,因为它们不容易序列化(.?)

像这样的功能呢?

代码语言:javascript
代码运行次数:0
运行
复制
function person(firstName, lastName) {
    let _firstName = firstName;
    let _lastName = lastName;

    return {
        fullName: `${_firstName} ${_lastName}`
    }
}

另外,我想知道我是否不应该存储类的实例,为什么redux建议将immutable.js对象存储到redux中,尽管immutable.js对象是具有许多方法的类的实例?

更新

扩展immutable.js记录的类的实例如何?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 02:21:10

Redux商店被认为是应用程序的“真理的唯一来源”。它是应用程序的所有状态都应该驻留的地方。可以作为组件的state存储的任何类型都可以存储在Redux中。

你的问题似乎包括两个主要部分。

  1. 组件应该存储在Redux中吗?(我假设“类的实例”指的是React组件)简单的回答是no。一个组件可以分为两个部分,标记(以及方法中的相关逻辑)和组件的状态。一旦创建了组件,组件的标记和关联逻辑就永远不会改变。正是组件的状态不断变化,并且将此状态应用于组件,组件的标记也相应地发生变化。如果我们能够获得组件的状态,我们可以将其应用于组件并获得必要的标记。因此,将组件存储在Redux中将不会给我们带来任何好处,因为我们只会加载它一次,并且它永远不会改变。 就Immutable.js对象的实例而言,它们通常是表示组件状态的对象。因此,它们是应该存储在Redux存储中的内容的主要示例。 编辑:关于Immutable.js记录,它们是常规json对象的不变版本,其形状不能被篡改。它们用于表示组件的状态,并且通过设计是不可变的;这将使它们成为存储在Redux中的理想状态,因为我们不应该改变存储在Redux中的状态。
  2. 函数应该存储在Redux中吗?答案还是no。函数是纯粹的逻辑,它应用于输入参数以获得输出。对于相同的输入,理想情况下,函数将提供相同的输出。因此,存储这样的函数将是无用的,因为一旦它们被创建,它们就永远不会改变。 你问题中的函数对于相同的输入总是提供相同的输出。因此,不建议存储函数;相反,建议将输入值存储在Redux中,并将它们应用于函数以获得输出。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46700253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档