我正在尝试在React中创建一个处于状态的对象。我需要'status'实际上是由setState更新的字段
this.state = {
data:[],
sort: 0,
field:"",
filters:{
'status':{
value:""
}
代码应为:
this.state = {
data:[],
sort: 0,
field:"",
filters:{
field:{
value:""
}
如何将同一对象设置为嵌套对象?
答案 0 :(得分:2)
您可以这样做。.
let filters = {
field:{
value: ""
}
};
this.setState({filters});
答案 1 :(得分:2)
您可以这样做:
this.setState({
filters: { ...this.state.filters, field: { value: 'new value' },
});
但是以上语法很难看。我建议您使用immutability-helper包来更新状态。
有关如何使用immutability helper更新状态的信息,请参见此答案。
答案 2 :(得分:1)
检查一下:
this.setState({filters:{[field]:{value:e}}
答案 3 :(得分:0)
嵌套对象的设置状态。
this.state = {
data:[],
sort: 0,
field:"",
filters:{
status:{
value:""
}
如果我们要使用setState方法更新“状态”,请遵循此方法,这可能会对您有所帮助。
let filters = {...this.state.filters}
filters.status = { value: 10 };
this.setState({filters})
引用此文档:Link