亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于react的高階組件和redux?

關于react的高階組件和redux?

森欄 2019-02-06 11:07:30
關于react的高階組件和redux
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

我想你可以先理解這兩種技術的使用情境與目的,這會比較清楚。

高階組件(HOC)只是一種樣式,主要的目的是要讓原本的組件擴充出其它功能,例如添加生命周期的一些代碼等等。當然我說的比較簡單,還有其它的目的例如組件的重覆利用等等,可以參考這篇博客中的說明。

Redux本身就有使用高階組件(HOC)的樣式,可以看到的是用在react-redux這個綁定器中,connect方法在這里面提供。但Redux的目的是管控整個應用中的狀態,與高階組件的目的不同,兩者無法混為一談。

如果你的目的只是要擴充組件,那就使用HOC樣式是直覺的,但HOC是有細部的問題的,目前已知道的經過HOC的組件,原本組件中的靜態方法會消失。這是其中一個解決方式: hoist-non-react-statics

如果你的目的是要管控整個應用領域的狀態,就用Redux之類的Flux框架,HOC只是Redux使用的其中一個樣式,它還有一些其它的樣式,各自有不同的目題。


查看完整回答
反對 回復 2019-03-16
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

Redux的connect就是高階組件,只不過它的傳參只能是它規定的數據格式而已。像你圖中的這個例子,用Redux的connect應該是實現不了的。兩者其實是一個概念,connect是為Redux設計的高級組件,你也可以為你的使用場景設計合適的高階組件。

查看完整回答
反對 回復 2019-03-16
  • 2 回答
  • 0 關注
  • 843 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號