【发布时间】:2021-09-21 10:50:14
【问题描述】:
我发现自己在兔子洞里哈哈。我正在调用获取对象列表并且调用成功,并且我可以看到返回的数据。但我不明白为什么 columnDefs 没有更新成功数据。
defaultState = {
columnDefs: []
}
export default function MarketReducer(state = defaultState,action ){
switch (action.type){
case GET_MARKETING_LIST:
return Object.assign({}, state, {
columnDefs: [],
});
case GET_MARKETING_SUCCESS:
return Object.assign({}, state, {
columnDefs: action.payload.data.column_headers.columnDefs,
});
case GET_MARKETING_FAIL:
return Object.assign({}, state,{
error: action.error,
columnDefs: [],
});
default:
return state;
}
}
export function getMarketingProspects() {
return {
type: GET_MARKETING_LIST,
payload: {
request: {
url: "/marketing/customers",
method: "GET"
}
}
};
}
然后我有一个触发 getMarketingProspects() 的按钮。问题是商店没有更新。
【问题讨论】:
-
为什么
getMarketingProspects会更新商店?它返回一个硬编码的对象并且不接触商店。 -
您没有
switch声明。如果您不打算使用有效负载,为什么还要传递它? -
@Andy,对不起,我有一个开关,忘记放在这里,我会更新我的描述
-
@Quentin 什么硬编码对象?
-
您传入
payload,但您正在使用只有一个空数组作为属性值的对象更新状态。payload根本没有被使用。 @chewie
标签: javascript reactjs redux