react項目中咱們常常會涉及到修改state中參數的問題,若是參數爲經常使用的基本類型變量,咱們能夠直接經過this.setState({...})方法來進行修改,可是若是變量爲一個對象咱們要如何修改呢?react
咱們要修改對象中的一個值或幾個值而保證其它參數不會受到影響,如state中含有pagintion對象,就是咱們經常使用的分頁對象。對於這種狀況咱們首先想到的就是先將對象總體保存下來,而後將對象中的值修改成咱們想要的值,而後再使用this.setState方法來總體賦值。因而咱們就有了下面兩種方法:es6
一、使用es6的解構賦值方法const pagination = {...this.state.pagination }獲取到對象中的全部值,而後再pagination.page = 10(如修改page的值爲10)來修改成成咱們想要的值,最後再使用this.setState({pagination:pagination})來進行總體賦值就行了。this
二、還有一種更爲簡潔的賦值方式就是使用Object.assign方法,直接使用 const pagination = Object.assign({}, this.state.pagination, { page: 10 })一步到位,而後再調用this.setState({pagination:pagination}),就ok了。對象