gpt4 book ai didi

javascript - 更新对象列表中的特定属性

转载 作者:行者123 更新时间:2023-11-29 15:12:50 25 4
gpt4 key购买 nike

我有一个 dataArray 对象列表

我想将 TextInput 与此列表中的特定对象相关联。

文本的每次更改也必须更改 state 中的 dataArray

如何正确操作?下面的代码不起作用

export default class MyClass extends Component {
constructor(props) {
super(props);

this.state = {
dataArray: this.props.dataArray
};
}

_renderContent = section => {
let arrayIdx = this.state.dataArray.findIndex(
x => x.title == section.title
);
return (
<TextInput
value={this.state.dataArray[arrayIdx].content}
onChangeText={con =>
this.setState({
dataArray: update(this.state.dataArray, {
arrayIdx: { content: { $set: con } }
})
})
}
/>
);
};

render() {
return (
<Container>
<Content padder>
<Accordion
dataArray={this.state.dataArray}
renderContent={this._renderContent}
/>
</Content>
</Container>
);
}
}

最佳答案

问题是您实际上是在更新 arrayIdx 而不是它所引用的索引。您需要使用 Computed Property Name[arrayIdx]

[arrayIdx]: { content: { $set: con } }

关于javascript - 更新对象列表中的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52592299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com