由於 redux是無狀態的,所以當我們在子組件中使用了 redux的時候,再父組件中,使用 ref 來獲取子組件的state時,發現為一個空對象。
其實這個是有解決方案法的,原因在於 我們使用的 redux里面的 connect 是有四個參數的
前兩個經常用,文檔也比較多,這里就不說了
connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])
這里直接說第三個參數,
mergeProps(stateProps, dispatchProps, ownProps) 該參數非必須,redux默認會幫你把更新維護一個新的props對象,類似調用Object.assign({}, ownProps, stateProps, dispatchProps)。
當不想傳第三個參數時可以傳 null
重點在第四個參數
options, 通過查看源碼,可以看見
所以,我們可以在子組件中
父組件中
這樣既可獲取原來有狀態的子組件