【发布时间】:2018-04-14 17:03:36
【问题描述】:
下面是我的动作和减速器文件 - 在我的组件状态下,我只看到 this.props.mainData - 但其他 subdataOneData 等没有被加载到状态 - 直到减速器我看到正确的动作被调度而且我还看到了子调用的数据 - 但它们没有到达我的组件 - 我有 mapStatetoprops - 我正在做的地方
新问题:根据更新的代码 - 当我在 reducer 中打印出有效负载时 - 我看到带有 api 数据的 maindata 但 SubData [{}, {}, {}] ..?
更新代码: 从 '../constants/types' 导入 { GET_DATA_AND_SUBDATA };
export function getMainData() {
return async function getMainData(dispatch) {
const { data } = await getMainDataAPI();
const subData = data.map((item) => {
const endpoint = 'build with item.name';
return Request.get(endpoint);
});
console.log('subddd' + subData); prints -> **[object Promise],[object Promise],[object Promise]**
dispatch({
type: GET_DATA_AND_SUBDATA,
payload: { data, subData }
});
};
}
async function getMainDataAPI() {
const endpoint = 'url';
return Request.get(endpoint);
}
【问题讨论】:
-
您首先发送 GET_DATA。它将更新状态(mainData)并尝试在调度 GET_subdata0、1 等之前重新渲染组件。您需要在访问道具之前进行验证或更改调度顺序。
-
在访问道具之前进行验证是什么意思-? @praveenweb
标签: redux react-redux redux-thunk reducers