gpt4 book ai didi

javascript - 在 Redux 中存储模型,好吗?坏的?

转载 作者:行者123 更新时间:2023-12-01 03:20:59 24 4
gpt4 key购买 nike

我想知道有一段时间了...我有一个应用程序,它从 API 获取数据,经典。假设我们收到 API 发送的 User 对象。然后,我将这些对象按原样存储在 Redux 中,因此它们是简单对象。

现在,当我需要使用它们时,我会检索它们,并且总是需要将它们传递给我的 User 模型,以便访问有用的函数,例如 getFullNamegetCompleteAddress

我的问题是,将模型存储在 Redux 中并从一开始就准备好不是更容易/更简单吗?或者说这是一个糟糕的设计?

谢谢

最佳答案

我建议不要这样做。Redux 旨在存储可序列化的状态。函数不可序列化,更糟糕的是,在存储函数时,您还可以存储它们的范围并用它打开潘多拉魔盒。

如果您尝试创建经典的 OOP 模型(我从您的问题中猜测),并将它们的状态和方法放在同一对象内,您最好使用 redux 存储的对象来构建该模型。

另一种方法是不在模型内混合状态和方法。至少我就是这样处理这个问题的。创建一个带有函数的模块来创建充当对象构造函数的模型。然后将这些方法分成作用于模型的给定实例的附加函数。

所以不要这样做:

class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
isLegal() {
return this.age >= 18
}
}

我会这样做来建模:

export function CreateUser(name, age) {
return {
name: name,
age: age
}
}

export function IsLegal(user) {
return user.age >= 18
}

但这只是我的意见,伙计!

关于javascript - 在 Redux 中存储模型,好吗?坏的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45207793/

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