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
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章