我想在state
中声明许多变量。如何使用动态方法做到这一点?
例如:
constructor(props) {
super(props);
this.state =
{
test1: this.props.navigation.state.params.rowData.test1,
test2: this.props.navigation.state.params.rowData.test2,
.........
test50: this.props.navigation.state.params.rowData.test50
}
}
答案 0 :(得分:3)
您可以使用for loop
。例如:
for(let i = 0; i < 50; i++){
this.setState({ [i]: this.props.navigation.state.params.rowData.[i] })
}
如果要完全按照示例中的方法进行操作,则必须push
object
中的所有测试,而在setState
中只需设置此对象。
类似这样的东西:
var obj = {};
for(let i = 0; i < 50; i++){
obj[test+i] = test+i;
}
this.setState({test: [ ...this.state.test, obj]});
答案 1 :(得分:0)
为什么不将它们散布在其中?
this.state = { ...this.props.navigation.state.params.rowData }