我想使用一个对象的值访问状态变量名称
例如:
const displayName = [
{
name: 'name', //Actually this is the state variable name
displayText: 'Name: '
},
{
name: 'email',
displayText: 'E-mail ID: '
}
]
{
displayName.map(obj => (
<p>{obj.displayText}</p>
<div>
{this.state.data.obj.name} //Here am facing issue. The state variables are: this.state.data.name and this.state.data.email. How to replace the obj.name here
</div>
)
}
状态变量是:this.state.data.name和this.state.data.email。如何在此处替换obj.name
如果我给{this.state.data.obj.name}
,则会抛出类似name not found
的错误
答案 0 :(得分:2)
使用变量作为键时,需要使用方括号
this.state.data[obj.name]
在方括号中,您的解决方案要求:
this.state['data']['obj']['name']