假设我的ReactJS应用程序中有以下代码。在我的构造函数中,我定义状态部分。如何解析状态对象中的result
。
constructor () {
super();
this.state = {
a: 1,
b: 2,
result: this.state.a + this.state.b
};
}
有一个类似的问题self reference in object literal declaration,但它适用于vanilla JavaScript。我如何在React中实现同样的目标。
答案 0 :(得分:1)
我会做这样的事情:
constructor () {
super();
this.state = {
a: 1,
b: 2
};
}
componentWillMount() {
const { a, b } = this.state;
this.setState({ result: a + b });
}
答案 1 :(得分:0)
你不能这样做。无论是否在反应环境中,JS都无法实现。但你能做的是:
var obj = {
a: 1,
b: 2,
get result () { return this.a + this.b }
}
但是状态Object上有方法,所以找到另一种方法可能会更好,因为状态应该由反射中的“简单”JS对象表示。