【发布时间】:2019-04-10 13:16:11
【问题描述】:
我在同一个组件的 this.state 中有 2 个对象:
对象 1 是一组键:值对。
对象 2 是一个对象数组。每个内部对象再次包含一对 key: value,但其中一对应该引用存储在第一个对象中的值:
this.state = {
Object 1: {
key 1: 1,
key 2: 2,
key 3: 3
},
Object 2: [
{
key 1: "...",
key 2: value of e.g. Object 1 - key 3
},
{
...
}
]
};
有没有办法直接从第二个对象引用第一个对象?我想到的唯一另一种方法是将第一个对象作为道具传递给另一个类,但这有点不切实际,因为这是理想情况下包含两个对象的顶级元素。
我不想将所有值存储在同一个对象中,因为两个对象都在不同的元素中呈现。
【问题讨论】:
-
是的,你可以,但这有点取决于对象 1 和对象 2 之间的关系,以确定什么是最好的方法。所以我们需要一个具体的例子来了解在这种情况下什么是合适的。通常我会使用对象 1 中的键作为对象 2 中键 2 的值。如果使用对象 1 中键的值而不是键本身,则对象 1 一开始可能已经过时。
-
当你开始需要在你的应用程序中做这些事情时,使用一个单独的库来管理你的应用程序状态(例如 redux)可能是一个好计划。在这种情况下,您可以直接从全局状态中提取任意数量的组件中的本地道具。
-
Shilly:对象 2 数组中第一个对象的键 2 应指向对象 1 的键 3 的值。 apokryfos:我打算这样做。理想情况下,我会通过 REST 和 Spring MVC 将它与 Java 后端连接起来,但到目前为止我还没有成功。
-
为什么不对两者都使用局部变量(在构造函数内部)?我在您的问题中看不到任何解释为什么需要从对象 2 引用对象 1 的内容。我们缺少什么背景?
-
我觉得这个答案stackoverflow.com/a/42437104/9203132 很有趣,它对我有用
标签: javascript reactjs state