首页 > 解决方案 > 从状态中引用状态 - React js

问题描述

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

像这样的东西?

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

标签: javascriptreactjs

解决方案


不,那是行不通的。this.state在构造函数之前初始化,但它不希望您引用对象的未定义部分。您需要在初始化后设置它。我假设你会this.state = {blah}从你的构造函数中使用。否则,您应该使用this.setState().

然而,这也是不好的做法,因为无论何时您更新您的名称或 desc,它都会使用您的新 id 值再次更新状态。我不知道您的代码的全部范围,但您可能只需将 id 保存到为您提供字符串的函数中。


推荐阅读