react-redux中connect的裝飾器用法
來源:懂視網
責編:小OO
時間:2020-11-27 20:06:01
react-redux中connect的裝飾器用法
最近在琢磨react中的一些小技巧,這篇文章記錄一下在redux中用裝飾器來寫connect。通常我們需要一個reducer和一個action,然后使用connect來包裹你的Component。假設你已經有一個key為main的reducer和一個action.js.的App.js一般都這么寫。;ok了,這樣并沒有什么問題。看著connect的用法,有沒有覺得很熟悉?典型的wrapper嘛,這里必須拿裝飾器來裝一波啊,稍微改改。;裝完了,看起來舒服了。在我們實際項目中,可能是一個模塊下面又有很多個小組件,它們都共用同樣的action和reducer,在每個組件中都這么寫,是不是有點太麻煩了?冗余代碼太多了。其實是可以把connect抽取出來的,比如寫一個connect.js。
導讀最近在琢磨react中的一些小技巧,這篇文章記錄一下在redux中用裝飾器來寫connect。通常我們需要一個reducer和一個action,然后使用connect來包裹你的Component。假設你已經有一個key為main的reducer和一個action.js.的App.js一般都這么寫。;ok了,這樣并沒有什么問題。看著connect的用法,有沒有覺得很熟悉?典型的wrapper嘛,這里必須拿裝飾器來裝一波啊,稍微改改。;裝完了,看起來舒服了。在我們實際項目中,可能是一個模塊下面又有很多個小組件,它們都共用同樣的action和reducer,在每個組件中都這么寫,是不是有點太麻煩了?冗余代碼太多了。其實是可以把connect抽取出來的,比如寫一個connect.js。

本文主要介紹了react-redux中connect的裝飾器用法@connect詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能幫助到大家。
最近在琢磨react中的一些小技巧,這篇文章記錄一下在redux中用裝飾器來寫connect。
通常我們需要一個reducer和一個action,然后使用connect來包裹你的Component。假設你已經有一個key為main的reducer和一個action.js. 我們的App.js一般都這么寫:
ok了,這樣并沒有什么問題。看著connect的用法,有沒有覺得很熟悉?典型的wrapper嘛,這里必須拿裝飾器來裝一波啊,稍微改改:
裝完了,看起來舒服了。在我們實際項目中,可能是一個模塊下面又有很多個小組件,它們都共用同樣的action和reducer,我們在每個組件中都這么寫,是不是有點太麻煩了?冗余代碼太多了。
其實是可以把connect抽取出來的,比如寫一個connect.js:
然后在需要用到的組件中這么用:
這樣就ok了,和最開始的用法比起來,是不是明顯更裝逼更好用?
需要說明的是,這里用了裝飾器,需要安裝模塊babel-plugin-transform-decorators-legacy,然后在babel中配置:
{
"plugins":[
"transform-decorators-legacy"
]
}
如果你用的是vscode, 可以在項目根目錄下添加jsconfig.json文件來消除代碼警告:
ok了,到這里真的完了。其實關于connect,是可以繼續琢磨的,比如可以寫一個通用的connect,所有的模塊中所有的組件都可以用的那種,本文就不繼續寫下去了,以后有機會再寫。
我一直覺得js里面把@ 這玩意兒叫裝飾器不好,太難聽了,像java那樣,叫注解多好。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
react-redux中connect的裝飾器用法
最近在琢磨react中的一些小技巧,這篇文章記錄一下在redux中用裝飾器來寫connect。通常我們需要一個reducer和一個action,然后使用connect來包裹你的Component。假設你已經有一個key為main的reducer和一個action.js.的App.js一般都這么寫。;ok了,這樣并沒有什么問題。看著connect的用法,有沒有覺得很熟悉?典型的wrapper嘛,這里必須拿裝飾器來裝一波啊,稍微改改。;裝完了,看起來舒服了。在我們實際項目中,可能是一個模塊下面又有很多個小組件,它們都共用同樣的action和reducer,在每個組件中都這么寫,是不是有點太麻煩了?冗余代碼太多了。其實是可以把connect抽取出來的,比如寫一個connect.js。