大概一年半之前用过React,后来因为工作的原因再也没有接触到React。前端日新月异,室友(也是同行)的提醒,让我有了更强的危机感,模块化开发已是前端基本技能。抛弃各种框架本身的运用来说,更为重要的是它们提供的编程思维。提高自己专业水平,迫在眉睫。
我想在简书上记录自己的一些学习笔记,自己实在太菜。今天在React中看到一个demo。
有一段代码如下:
const newItem={
text:this.state.text,
id:Date.now()
};
this.setState(state => ({
items :state.items.concat(newItem),
text:''
}))
这里为什么使用的是concat?增加一条数据,不是可以直接push()吗?而且newItem明明是一个对象,concat()的用法,我记得是把多个数组拼接起来组合成新的数组并返回。
后来思考如下:
push会改变原来的数组,使用push方式的话,最好是copy一份_items,然后push()一条数据,再通过setState方法,将新的_items赋值给items。这样做就把问题复杂化了。concat,拼接新的值并返回新的数组对象,添加数据与赋值一步到位,实在让我这个小白惭愧。
学习过程中,看到很多大神的写法,尤其是&& 和||用在赋值操作上的方式,再次感叹自己好菜。
网友评论