Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用reactjs在json中设置数组名_Javascript_Reactjs - Fatal编程技术网

Javascript 如何使用reactjs在json中设置数组名

Javascript 如何使用reactjs在json中设置数组名,javascript,reactjs,Javascript,Reactjs,我在构造函数中设置了一个空数组,如下所示 this.state = { formData: [], } addFormData() { const {formQuestion,formName} = this.props; const formRawData = { 'question': formQuestion, 'type': this.state.qtype, } this.state.formData.pus

我在构造函数中设置了一个空数组,如下所示

this.state = {
      formData: [],
}
addFormData() {

    const {formQuestion,formName} = this.props;

    const formRawData = {
      'question': formQuestion,
      'type': this.state.qtype,
    }


    this.state.formData.push(formRawData);


  }
formName : [ 
    0: {question: "ABC", type: "star"}
    1: {question: "ABC", type: "star"}
]
当用户点击像这样的按钮时,我会按一些数据

this.state = {
      formData: [],
}
addFormData() {

    const {formQuestion,formName} = this.props;

    const formRawData = {
      'question': formQuestion,
      'type': this.state.qtype,
    }


    this.state.formData.push(formRawData);


  }
formName : [ 
    0: {question: "ABC", type: "star"}
    1: {question: "ABC", type: "star"}
]
通过这个,我得到了一个类似于formData的结果

[ 
0: {question: "ABC", type: "star"}
1: {question: "ABC", type: "star"}
]
如何像这样将数组名(
formName
)设置为我的数组

this.state = {
      formData: [],
}
addFormData() {

    const {formQuestion,formName} = this.props;

    const formRawData = {
      'question': formQuestion,
      'type': this.state.qtype,
    }


    this.state.formData.push(formRawData);


  }
formName : [ 
    0: {question: "ABC", type: "star"}
    1: {question: "ABC", type: "star"}
]

This
This.state.formData.push(formRawData)不应该这样做。你正试图改变这种状态。这就是setState的作用

我想你在找这样的东西

this.state = {
      formData: { formName:  []},
}

尝试使用
setState
函数添加数据,如:

setState({   
    formData:formRawData
})

您的意思是希望
formData
是一个对象(属性为
formName
),而不是一个数组?this.state={formData:{},};this.state.formData[formName].push(formRawData);