从状态内引用状态-React JS

时间:2018-11-28 22:50:40

标签: javascript reactjs

是否可以从状态内部引用状态以创建ID。例如id = this.state.name + this.state.desc

像这样吗?

this.state = {name:'', desc:'', id:`${this.state.name}-${this.state.desc}`}

2 个答案:

答案 0 :(得分:3)

不,那是行不通的。 pip3 install charm4py在构造函数之前初始化,但它不喜欢您引用对象的未定义部分。您需要在初始化后进行设置。我假设您将在构造函数中使用this.state。否则,您应该使用this.state = {blah}

但是,这也是一个坏习惯,因为只要您更新名称或desc,它就会使用新的id值再次更新状态。我不知道您代码的完整范围,但是您可以将ID保存到为您提供字符串的函数中。

答案 1 :(得分:0)

请记住,您需要使用setState

设置状态

所以

this.setState({ id:`${this.state.name}-${this.state.desc}` })

这还假设您已经在构造函数(或应用程序中的其他位置)中设置了状态。

如果您在构造函数中,那么这应该可以正常工作...

this.state = { name: 'Toli', desc: 'A programmer' };
this.state = {...this.state, id:`${this.state.name}-${this.state.desc}`}

我假设您想保持namedesc的状态,所以我要使用扩展op(...this.state)复制它们