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

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

redux + react-router-dom導致的store更新但是不觸發渲染的問題各位有什么建議?

redux + react-router-dom導致的store更新但是不觸發渲染的問題各位有什么建議?

慕森王 2019-08-11 15:11:20
代碼在這里:https://codesandbox.io/s/gith...簡單描述:這是跟著redux文檔學習的一個例子,開始使用redux+react-redux實現,且功能正常。之后使用了redux+react-router-dom,并把使用connect的兩個容器型組件換成了普通函數組件(見代碼里的containers文件夾下的FilterLink.js->RouteLink.js和VisibleTodoList.js->RouteTodoList.js),其他代碼基本沒改動,然后就出現了dispatch后store更新但是不觸發渲染的問題(新增todo,或者點擊todo以完成都需要切換下面的按鈕來觸發更新)。Google大都是涉及connect然后用withRouter來解決這樣的,但我這里沒有用connect,希望有大佬能指出錯誤的地方,謝謝了?。?!
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

問題出現的原因:組件沒有setState!!!(還是理解不夠透徹)解決方法:給容器型組件一個父組件,負責兩個事情,一是接收store并訂閱這個store更新(用來setState),二是向其容器型子組件傳遞state和dispatch——connect的雛形就這樣出來了。如果將這個父組件封裝為高階組件,并且給子組件只傳遞其需要的props(通過調用mapState和mapDispatch),這應該就是乞丐版的connect了吧
                            
查看完整回答
反對 回復 2019-08-11
  • 2 回答
  • 0 關注
  • 336 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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