我想用immutability-helper插件更新数组中键的值。
我的代码如下:
class StorageForm extends Component {
constructor(props) {
super(props);
this.state = {
volumes: [{local: 'test', remote: 'test2'}],
};
};
_handleLocalPathData(event, index) {
const path = event.target.value;
const data = this.state.volumes[index];
data.local = path;
const tmpData = update(this.state.volumes[index], {$set: [data]});
this.setState({
volumes: tmpData
});
};
}
但卷不是更新的卷。我的错误在哪里?
答案 0 :(得分:2)
您希望在local
位置的数组中设置对象的index
属性:
const newVolumes = update(this.state.volumes, {
[index]: { local: { $set: path },
};
this.setState({ volumes: newVolumes });
答案 1 :(得分:0)
使_handleLocalPathData返回tmpData,并在类内部调用该函数并使用this.setState({volumes:tmpData})。 为什么因为这个的上下文没有引用StorageForm类