我们可以利用state来定义一些变量的初始值

//放在construcor里
this.state = {
list: [1, 2, 3]
}

要更改state里的值,注意要遵循react里immutable规范,state不允许我们做任何改变,只能通过setState来更改

const list = [...this.state.list];
list.splice(0, 1);
this.setState({list:list});

强烈推荐setstate的写法如下:

const list = [...this.state.list];
list.splice(0, 1);
this.setState((prevState) => ({ //外面加小括号可以代替return
list: list
}));

还可以这样写

this.setState((prevState) => {   //外面加小括号可以代替return
const list = [...prevState.list];
list.splice(0, 1);
return {list}
});

setState第二个参数回调函数,在setState设置完之后执行,可以对改变后的数据进行操作

this.setState((prevState) => {   //外面加小括号可以代替return
const list = [...prevState.list];
list.splice(0, 1);
return {list}
}, () => {
console.log(this.state.list);
});

最新文章

  1. git配置
  2. C++内存分配及变长数组的动态分配
  3. ubuntu使用笔记
  4. Python使用中文注释和输出中文(原创)
  5. 直接使用提交过来的类来更新字段EntityState.Modified并过滤null值的方法
  6. java的nio之:java的nio系列教程之概述
  7. sgu - 274 - Spam-filter
  8. iOS 本地存储四种方法
  9. nginx 调优
  10. js 获取服务器控件
  11. php 单引号与双引号区别
  12. 轻量级mvvm Web开发框架 postby:http://zhutty.cnblogs.com
  13. Qt原始资源形象问题后删除
  14. PureLayout
  15. ionic3 自动创建启动背景splash以及图标icon
  16. iptables snat 和dnat说明
  17. 【转】Linux 虚拟内存和物理内存的理解
  18. shell脚本使用技巧3--函数调用
  19. 【LGP5176】公约数
  20. centos6.6 7 vim编辑器中文乱码

热门文章

  1. 【力扣】有序矩阵中第K小的元素
  2. c++和c中const的区别
  3. [BUUCTF]REVERSE——[2019红帽杯]easyRE
  4. [BUUCTF]REVERSE——SimpleRev
  5. selenium chrome一些配置问题
  6. 月薪过2w的IT程序员都是怎么做到的?
  7. myeclipse 安装spket
  8. DG修复:异常关库导致的数据库启动失败ORA-01110及GAP修复
  9. c++之面试题(2)实现字符串的分割函数SplitStr
  10. 【LeetCode】1470. 重新排列数组 Shuffle the Array (Python)