gpt4 book ai didi

reactjs - 如何在 React 中创建动态变量名?

转载 作者:行者123 更新时间:2023-12-03 13:40:18 38 4
gpt4 key购买 nike

在 React 中,我尝试使用变量和静态文本动态创建状态变量名称。 “level2”将由“level”文本加上一个指示级别的变量(selectedItem.Level+1)创建。

this.state={
level1:[""], // city
level2:[""] // township
level3:[""] // neighborhood
level4:[""] // street
}

当用户单击一个城市时,我会填充该城市内所有乡镇的数组,依此类推。通过 Prop 我知道点击了哪个级别。我想动态创建要更新的状态变量。

“FilteredListFromClick”是基于单击的父级的子级数组。

this.setState({level2: FilteredListFromClick}) // hard coding name works, level2 is populated with a list of townships in clicked city.

var levelName = "level" + selectedItem.Level+1; // column1, column2, etc
this.setState({levelName: FilteredListFromClick}) // does not work, state is not updated, results are an empty list

this.setState({"level"{selectedItem.Level+1}: FilteredListFromClick}) // syntax errors - I've tried playing around with different combos of (), {}, "", and so on. Ideally I would like to set my state in one line like this.

最佳答案

像这样使用[]括号

this.setState({["level" + (selectedItem.Level+1)]: FilteredListFromClick})

关于reactjs - 如何在 React 中创建动态变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47357311/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com