【发布时间】:2020-07-06 13:47:07
【问题描述】:
我正在尝试更新 shoeList 中 id 值的状态。目前我有一个允许输入新 ID 的文本字段,并且我希望在单击“确定”按钮时更新状态。
以下是一些相关代码:
state = {
editingToggle: false,
shoeList : [
{name: 'bob', id: '123213-0', shoeSize: 'L'}
],
}
<TextInput className='text-area-header' id="textM" width="m" type="text" placeholder={this.state.shoeList[0].id} />
<Button className="ok-button" variant="tertiary" size ='xs' type="button" handleClick={this.saveHeader}>OK</Button>
saveHeader(e) {
this.setState(state=> ({
shoeList[0].name:
}))
alert('Header changed to ' + this.state.shoeList[0].id);
e.preventDefault();
}
我不确定在 this.setState 中放什么,因为我没有找到任何关于如何通过谷歌搜索更新嵌套值的信息。此外,每当我将 value 属性添加到 TextInput 标签时,它都不允许我再在网页上的 textinput 中进行编辑。任何帮助都会很棒
【问题讨论】:
-
我认为这是因为您没有在 saveHeader 中正确设置状态。您没有列出您要更新的状态。
-
是的,我不知道该放什么
-
您有一个属性,但您没有为其设置值。冒号后面什么都没有。
标签: reactjs components state