react 想要更新视图只能用 setState( ) 方法
关于 setState() 这里有两点需要知道
1. 不要直接更新状态, 而是使用 setState()
2. 状态更新是异步的,你如果依靠它们的值来计算下一个状态不可以直接使用。
1、两种调用方式
第一种 : 直接 改变
this.setState({ msg: "我被改变了" });
第二种 :通过 setState()传入一个函数,这种用法 可以借助于 原有的state里的值
this.setState(state => { return { msg: "hello" }; });
2、修改状态后依据状态做些操作
第一种:回调函数
.setState({ active:true },()=>{ console.log(this.state.active,'2') }) console.log(change = async ()=>{ await }) console.log() }
3、修改某个对象的部分属性,使用Object.assign()
change = (pagination,filters,sorter,extra)=>{ this.setState((state)=>{ { params:Object.assign(state.params,{ pageSize: pagination.pageSize,pageNum: pagination.current }) } }) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。