Javascript 更新react表单中的嵌套json值

Javascript 更新react表单中的嵌套json值,javascript,reactjs,Javascript,Reactjs,我的json this.state = { name: '', subCatagory: [{ name: '', price: '', customize: [] }], }; 我的地图功能 {this.state.subCatagory.map((subCatagory, idx) => ( <div className="subCatagory" key={idx

我的json

this.state = {
            name: '',
            subCatagory: [{ name: '', price: '', customize: [] }],
        };
我的地图功能

 {this.state.subCatagory.map((subCatagory, idx) => (
                        <div className="subCatagory" key={idx}>
                            <input
                                type="text"
                                placeholder={`Enter Dish  #${idx + 1} name`}
                                value={subCatagory.name}
                                onChange={this.handlesubCatagoryNameChange(idx)}
                            />
                            <input
                                type="number"
                                placeholder={`subCatagory #${idx + 1} price`}
                                value={subCatagory.price}
                                onChange={this.handlesubCatagoryPriceChange(idx)}
                            />
                            <button
                                type="button"
                                onClick={this.handleRemovesubCatagory(idx)}
                                className="small"
                            >
                                Delete
                            </button>
                            <button type="button" onClick={this.addNewCust(idx)} className="small">
                                is cust availble?
                            </button>
                            {subCatagory.customize.map((gj, f) => (
                                <div key={f}>
                                    <input
                                        type="text"
                                        placeholder={`subCatagory #${f + 1} price`}
                                        value={gj.name}
                                        key={gj.key}
                                        onChange={this._pushvaluesto_customize(f)}
                                    />
                                </div>
                            ))}
                        </div>
                    ))}
如何在react表单中使用map更新嵌套的json


my gist

如果已经可以访问元素的索引,那么可以直接更新元素值,如下所示,map函数将不必要地在数组中循环。 此处
custIdx
是需要更新的自定义数组元素的索引

handlesubCatagoryChange = (idx, property, custIdx) => evt => {
    const subCatagory = this.state.subCatagory
    property != 'customize'? subCategory[idx][property] = evt.target.value : subCategory[idx][property][custIdx] = evt.target.value

    this.setState({ subCatagory: subCatagory });
};

如果已经可以访问元素的索引,那么可以直接更新元素值,如下所示,map函数将不必要地在数组中循环。 此处
custIdx
是需要更新的自定义数组元素的索引

handlesubCatagoryChange = (idx, property, custIdx) => evt => {
    const subCatagory = this.state.subCatagory
    property != 'customize'? subCategory[idx][property] = evt.target.value : subCategory[idx][property][custIdx] = evt.target.value

    this.setState({ subCatagory: subCatagory });
};

可以通过要点或其他方式详细说明或共享代码。这将有助于我得到未定义的错误'61行:未定义自定义'61行:未定义子类别'61行:未定义子类别'61行:未定义未定义自定义应为字符串谢谢,但我仍然得到'60行:子类别'未定义没有定义undef`errorthis.state.Subtagory未定义?可以根据要点或其他内容详细说明或共享代码。,这将有助于我得到未定义的错误'61行:未定义自定义'61行:未定义子类别'61行:未定义子类别'61行:未定义自定义应为字符串谢谢,但我仍然得到'60行:子类别'未定义没有定义undef`errorthis.state.Subtagory?