reactjs - 在状态中获取动态属性的语法
问题描述
我有一个状态,我在其中创建了动态属性,例如
option_0:'opt1',
option_1:'opt2
whereopt1
和opt2
是动态获取的。用户输入等后的整个状态如下所示::
{
options_number:4,
options_0:'opt1',
options_1:'opt2',
}
等等。我想控制台记录每个动态值的值,其中存储了选项编号。所以我这样做:
for(var _options_number=0; _options_number<=this.state.options_number; _options_number++){
console.log(this.state[`options_`+${_options_number}])
}
但在进行了少量的语法实验之后,它给出了NaN
or 。undefined
请让我知道正确的语法来获取每个动态生成的状态属性的值(例如this.state.options_
..)
解决方案
看看这是否有帮助,否则您必须更具体地了解如何存储动态获取的状态。
class Testing extends React.Component{
constructor(props){
super(props);
this.state={
option_0:'opt1',
option_1:'opt2'
}
}
componentDidMount(){
for (const item in this.props.options) {
console.log(`Value for options_${item} is: `)
console.log(this.state[`option_${item}`])
}
}
render(){
return(
<div>Check console </div>
)
}
}
class App extends React.Component{
render(){
return(
<Testing options={{0:'opt1', 1:'opt2'}} />
)
}
}
ReactDOM.render( <App />, document.getElementById("root"))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root" />
推荐阅读
- c# - 如何将一批消息发送到 Azure EventHub?(C# WinForm 和 .NET 5.0)
- python - 在python中不使用[::-1]检查字符串是否为回文
- node.js - 如何连接前端和后端
- python - 使用 for 循环填充 python 字典列表
- html - 如何防止 CSS 网格布局中的项目增长以适应其内容?
- java - 如何在类似 Map 的结构中复制值并以简单的方式获取所有键
- python - 当我尝试使用 simpleJWT 4.6.0 版部署到 Heroku 时出现错误
- python - 如何将多目标二进制分类器优化(多类)从 matlab 转换为 python(使用 pymoo)?
- react-native - react native 获取以前连接的蓝牙设备
- javascript - 由于我的组件,无法将属性“srcObject”设置为 null