this.setState修改某一对象的某个属性值,其它保留不变

state中数据如下

class Illegals extends React.Component {
  constructor(props) {
  super(props);
    this.state = {
	     pageNav: {
	        pageSize: 20,
	        pageNum: 1,
	        total: 50
	      }
    	}
  }
}
// 举例:只修改state中的total的值为100

错误方法

// 如此做法,pageNav对象的属性全部替换为只有total一个属性,其它属性丢失。
// 熟悉vue,因为有数据绑定,其它属性值并不会丢失。因为使用react没多久,特此将自己的错误记录下  
this.setState({
	pageNav: {
		total: 100
		}
})

正确方法

let pageNav = this.state.pageNav;
pageNav.total = 100;
this.setState({
	pageNav
})

你可能感兴趣的:(Web前端,react开发,前端方向)