在redux中,我們可以查看到redux下所有通過(guò)reducer更新state的記錄,每一個(gè)記錄都對(duì)應(yīng)著內(nèi)存中某一個(gè)具體的state,讓用戶可以追溯到每一次歷史操作產(chǎn)生與執(zhí)行時(shí),當(dāng)時(shí)的具體狀態(tài),這也是使用redux管理狀態(tài)的重要優(yōu)勢(shì)之一.
若不創(chuàng)建副本,redux的所有操作都將指向內(nèi)存中的同一個(gè)state,我們將無(wú)從獲取每一次操作前后,state的具體狀態(tài)與改變,若沒(méi)有副本,redux-devtools列表里所有的state都將被最后一次操作的結(jié)果所取代.我們將無(wú)法追溯state變更的歷史記錄.
怎么簡(jiǎn)單的修改state中的值并return新的state呢撮竿?
首先昧辽,我們需要引入lodash管毙,下面看下如何引用并使用。
在 React + Webpack + Babel(ES6) 的開(kāi)發(fā)環(huán)境中,使用 Lodash 需要安裝插件 babel-plugin-lodash 并更新 Babel 配置文件:
更新 Babel 的配置文件 .babelrc:
使用方式: