构造函数this.state的循环

时间:2019-09-19 13:06:37

标签: javascript reactjs react-native state

我想在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
    }
}

2 个答案:

答案 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 }