【发布时间】:2020-01-27 05:34:27
【问题描述】:
我正在使用带有 thunk 的 React-Redux。我的动作生成器通过 thunk 发起对 API 的调用,然后按预期接收状态数据。 我在 useEffect 函数中调用动作生成器,一旦我从 API 获得数据,我想更新我作为视图的饼图。但我不知道该怎么做。由于我在API调用成功并且数据处于状态后将数据从状态加载到数组(数据源到饼图)。
以下是有问题的代码。
useEffect(()=> {
const reqData = {
"customerId" : "5",
"month" : "12",
"year" : "2019"
};
initCategoryExpInfo(reqData,()=>{
initPieChartData();
});
},[navigation,initCategoryExpInfo]);
......
const initPieChartData = () => {
for(i = 0;i < categoryExpenses.length;i++) {
var item = categoryExpenses[i];
series.push(item.expenseAmount);
}
};
我也通过 redux 函数 connect 和 props 连接了 action 到 state 我猜它工作正常,因为我在商店里得到数据就好了,下面是动作生成器的样子
export const performGetAllExpensesByCat = (reqData,callback) => (dispatch, _, {api}) => {
return getAllExpensesByCat(api)(reqData).then(res => {
console.log(res.data);
dispatch(setExpensesByCat(res));
callback();
});
};
唯一的问题是如何刷新组件以便我的饼图得到更新
<PieChart
chart_wh={chart_wh}
series={series}
sliceColor={sliceColor}
doughnut={true}
coverRadius={0.7}
coverFill={'#FFF'}
/>
【问题讨论】:
标签: javascript react-native redux react-redux