Reactjs 在react js中更新本地状态对象中的状态
我想更新状态中的最小值和最大值。如果我只更新最小值和最大值,其他两个状态将变为空Reactjs 在react js中更新本地状态对象中的状态,reactjs,Reactjs,我想更新状态中的最小值和最大值。如果我只更新最小值和最大值,其他两个状态将变为空 构造函数(道具){ 超级(道具); 此.state={ 参数:{ 一【】, 二:[], 最低:100000, 最高:5100000 } }; } 这是我的密码 select_price(price) { this.setState({ param: {min:price[0], max:price[1]}}); } 快速修复方法是获取整个文档,更改特定项目并设置状态: doc = this.state
构造函数(道具){
超级(道具);
此.state={
参数:{
一【】,
二:[],
最低:100000,
最高:5100000
}
};
}
这是我的密码
select_price(price) {
this.setState({ param: {min:price[0], max:price[1]}});
}
快速修复方法是获取整个文档,更改特定项目并设置状态:
doc = this.state.param
doc.min = price[0]
doc.max = price[1]}
this.setState({ param: doc });
不确定是否可以使用
setState
应用$set
类操作快速修复方法是获取整个文档,更改特定项目并设置状态:
doc = this.state.param
doc.min = price[0]
doc.max = price[1]}
this.setState({ param: doc });
不确定是否可以将
$set
类型的操作应用于setState
您正在用新状态替换整个状态。你应该这样做
select_price(price) {
let paramState = {...this.state.param}; //works with es6 only
paramState.min = price[0];
paramState.max = price[1];
this.setState({ param: paramState });
}
正如@markm247在edit中所建议的,这是另一种方法
select_price(price) {
let paramState = {...this.state.param, min:price[0],max: price[1]};
this.setState({ param: paramState);
}
您正在用新状态替换整个状态。你应该这样做
select_price(price) {
let paramState = {...this.state.param}; //works with es6 only
paramState.min = price[0];
paramState.max = price[1];
this.setState({ param: paramState });
}
正如@markm247在edit中所建议的,这是另一种方法
select_price(price) {
let paramState = {...this.state.param, min:price[0],max: price[1]};
this.setState({ param: paramState);
}
更新状态的代码在哪里?您使用的是
setState()
还是replaceState()
?我使用的是setState()。您可以发布setState()
命令吗?请共享状态更新代码更新状态的代码在哪里?您使用的是setState()
还是replaceState()
?我使用的是setState()。您可以发布setState()
命令吗?请共享本地状态更新的代码。道具无法访问本地状态。this.props.param.get()引发错误:无法使用this.state.param.get()
读取undefinedreplace的属性'get',然后?this.state.param
不使用.get()
?它处于本地状态。道具无法访问本地状态。this.props.param.get()引发错误:无法使用this.state.param.get()
读取undefinedreplace的属性'get',然后?this.state.param
不使用.get()
?