日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

redux-form(V7.4.2)笔记(二)

發(fā)布時(shí)間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redux-form(V7.4.2)笔记(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文在上一篇(https://blog.51cto.com/zhuxianzhong/2144064)的基礎(chǔ)上重點(diǎn)關(guān)注redux-devtools-extension這款調(diào)試工具的使用。另外,撰寫(xiě)本文的原因其一是,redux-form庫(kù)官方提供的一系列示例中,在創(chuàng)建store時(shí)(即在store.js)中都使用了如下創(chuàng)建方式: const reducer = combineReducers({form: reduxFormReducer, // mounted under "form" }); const store = (window.devToolsExtension? window.devToolsExtension()(createStore): createStore)(reducer);export default store; 為什么在一般的redux教程中都使用如下寫(xiě)法:const store=createStore(rootReducer);而上面卻使用另外一種形式?window何以有devToolsExtension這個(gè)屬性?

基于這些原因,在我打算總結(jié)的這個(gè)系列短文中干脆也順便分析一個(gè)這個(gè)問(wèn)題。

說(shuō)明

在閱讀本文前,請(qǐng)注意區(qū)別兩個(gè)不同的框架:redux-devtools和redux-devtools-extension。

其中,redux-devtools(https://www.npmjs.com/package/redux-devtools)使用了侵入式技術(shù),是你的集成開(kāi)發(fā)環(huán)境下開(kāi)發(fā)React-Redux應(yīng)用的一個(gè)強(qiáng)大的開(kāi)發(fā)工具。這個(gè)東西能夠使用monitor技術(shù)實(shí)時(shí)監(jiān)聽(tīng)您的Store中的數(shù)據(jù)情況。在應(yīng)用前,需要專門(mén)安裝此模塊。

不過(guò),如果你不想安裝上述模塊從而不致于其侵入你的項(xiàng)目之中,那么,Redux DevTools Extension是一個(gè)很好的替代選擇。這是一個(gè)瀏覽器插件,它支持Chrome,Firefox以及360瀏覽器等,它提供了大部分常用的監(jiān)聽(tīng)器用于配置你的項(xiàng)目,不需要安裝任何模塊(其實(shí)其提供了安裝選項(xiàng)),配置也很簡(jiǎn)單。

本文專注于介紹redux-devtools-extension。

【注意】當(dāng)前版本中(Version 2.7+),window.devToolsExtension被重命名為window.REDUX_DEVTOOLS_EXTENSION

window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__

也就是說(shuō),上面redux-form官方提供的代碼中都使用了較早版本的redux-devtools-extension。
但是,在以后的React-Redux項(xiàng)目中不再建議使用window.devToolsExtension方式了。

安裝redux-devtools-extension

有關(guān)安裝redux-devtools-extension插件,針對(duì)不同的瀏覽器,官方提供了多種安裝方案(https://github.com/zalmoxisus/redux-devtools-extension)。

由于我使用的是Google Chrome瀏覽器,所以選擇從Chrome網(wǎng)上應(yīng)用店中安裝插件的方式,商店地址是:https://chrome.google.com/webstore/category/extensions。進(jìn)入后,在左上角的搜索框內(nèi)輸入redux-devtools-extension后便可很容易地搜索到此插件。

在Redux應(yīng)用中的最基本的使用方式如下面代碼所示:

const store = createStore(reducer, /* preloadedState, */window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());

在此,第二個(gè)參數(shù)preloadedState是可選的,用于設(shè)置 state 初始狀態(tài),一般是省略掉的。第三個(gè)參數(shù)以增強(qiáng)器(enhancer),也稱為第三方中間件(這種稱呼更合適一些吧),的方式出現(xiàn)。注意,這種書(shū)寫(xiě)要求Redux版本在3.1.0或者以上才行。

有關(guān)此插件的更復(fù)雜的應(yīng)用形式,還是請(qǐng)參考文后提供的官方網(wǎng)址吧。

瀏覽器中簡(jiǎn)單調(diào)試應(yīng)用

在webstorm中通過(guò)內(nèi)置終端Terminal運(yùn)行npm start啟動(dòng)redux-form第一個(gè)示例應(yīng)用。啟動(dòng)后,切換到Google Chrome瀏覽器并打開(kāi)右上角的插件圖標(biāo),然后在左邊的表單中操作,并觀察在隨后彈出的右邊調(diào)試窗中的信息,請(qǐng)參考下圖:

因?yàn)槭浅醪絿L試使用,所以沒(méi)有對(duì)于這個(gè)調(diào)試窗口中信息作全面分析,請(qǐng)?jiān)彙5?#xff0c;從上圖可以推知,這種針對(duì)store中信息的變化(隨著表單中的不斷操作)的調(diào)試是非常有親和力的。這從github上至今高達(dá)6783星(對(duì)于像React這種頗具挑戰(zhàn)性的技術(shù)棧選擇者來(lái)說(shuō),這已經(jīng)是一個(gè)相當(dāng)高的星數(shù)了)的關(guān)注度也充分認(rèn)證了這一點(diǎn)。

參考資料

1.https://www.npmjs.com/package/redux-devtools
2.https://blog.csdn.net/achenyuan/article/details/80884895
3.https://github.com/zalmoxisus/redux-devtools-extension

轉(zhuǎn)載于:https://blog.51cto.com/zhuxianzhong/2146271

總結(jié)

以上是生活随笔為你收集整理的redux-form(V7.4.2)笔记(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。