我正在使用與react-redux和react-router進行反應,我試圖在我的組件中定義一個靜態方法,用於從該組件獲取該組件的必要數據服務器。這些動作是異步的,我使用了redux-thunk中間件。單獨調用這些操作可以正常工作,但我不希望手動定義何時需要調用哪些操作,而是隻想循環訪問服務器上的組件,並根據需要調用靜態方法。提取數據並在服務器上填充redux存儲
我嘗試過使用這樣的東西來遍歷所有的組件,但我無法讓它工作。我懷疑這是因爲我的組件是嵌套的。
return Promise.all(
components
.reduce((previous, current) => {
return (current && current.fetchData || [])
.concat((current && current.WrappedComponent ? current.WrappedComponent.fetchData : []) || [])
.concat(previous);
}, [])
.map(fetchData => dispatch(fetchData(params)))
);
別的東西,可能是一個潛在的問題是,我的一些路線的渲染多個組件是這樣的:
<Route
components={{ foo: Foo, bar: Bar }}
/>
我應該如何去這樣做呢?謝謝!
我認爲你正在尋找像https://facebook.github.io/relay/ – Scarysize