简体   繁体   English

React.js-js-添加两个字符串并像变量一样使用

[英]React.js - js - add two strings and use this like variable

I want to get step property from state dynamically. 我想动态地从状态获取step属性。

That loop generates input fields on page depending on numberOfSteps number in state 该循环根据状态中的numberOfSteps数在页面上生成输入字段

  makeInputs = () => {
    let steps = [];

    for (let i = 1; i <= this.state.numberOfSteps; i++) {
      steps.push(
        <input onChange={this.inputChangeHandler} name={"step" + i} />
      );
    }
    return steps;
  };

I set dynamically state names 我动态设置状态名称

  inputChangeHandler = e => {
    this.setState({
      [e.target.name]: e.target.value
    });
  };

Know I want to send this values with fetch do db, my problem is that i cannot concat variable names, I have tried: 知道我想使用fetch do db发送此值,我的问题是我无法连接变量名,我已经尝试过:

this[this.state.step + i]

or eval function but nothing works... 或评估功能,但无济于事...

My variable should be generated like this: 我的变量应该像这样生成:

this.state.step1
this.state.step2
this.state.step3

form 形成

let steps = [];

    for (let i = 1; i <= this.state.numberOfSteps; i++) {
      let stepObj = {
        id: i,
        name: eval('this.state.step' + i),
        description: "hejo"
      };
      steps.push(stepObj);
    }

好像您想这样做:

this.state[`step${i}`]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM