修改state(react)中的某一个对象中的单个参数

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了。对象

相关文章
相关标签/搜索