????????大概一年半之前用過(guò)React菲宴,后來(lái)因?yàn)楣ぷ鞯脑蛟僖矝](méi)有接觸到React贷祈。前端日新月異,室友(也是同行)的提醒喝峦,讓我有了更強(qiáng)的危機(jī)感势誊,模塊化開(kāi)發(fā)已是前端基本技能。拋棄各種框架本身的運(yùn)用來(lái)說(shuō)谣蠢,更為重要的是它們提供的編程思維粟耻。提高自己專業(yè)水平,迫在眉睫眉踱。
? ? ? ? 我想在簡(jiǎn)書上記錄自己的一些學(xué)習(xí)筆記挤忙,自己實(shí)在太菜。今天在React中看到一個(gè)demo谈喳。
有一段代碼如下:
const newItem={
text:this.state.text,
id:Date.now()
};
this.setState(state => ({
items :state.items.concat(newItem),
text:''
}))
這里為什么使用的是concat册烈?增加一條數(shù)據(jù),不是可以直接push()嗎婿禽?而且newItem明明是一個(gè)對(duì)象茄厘,concat()的用法,我記得是把多個(gè)數(shù)組拼接起來(lái)組合成新的數(shù)組并返回谈宛。
后來(lái)思考如下:
push會(huì)改變?cè)瓉?lái)的數(shù)組次哈,使用push方式的話,最好是copy一份_items吆录,然后push()一條數(shù)據(jù)窑滞,再通過(guò)setState方法,將新的_items賦值給items恢筝。這樣做就把問(wèn)題復(fù)雜化了哀卫。concat,拼接新的值并返回新的數(shù)組對(duì)象,添加數(shù)據(jù)與賦值一步到位撬槽,實(shí)在讓我這個(gè)小白慚愧此改。
學(xué)習(xí)過(guò)程中,看到很多大神的寫法侄柔,尤其是&& 和||用在賦值操作上的方式共啃,再次感嘆自己好菜。