触发 redux 动作后如何在组件内部做一些事情?
How to do something inside component after triggering a redux action?
我想在一个动作完成后在组件内部做一些事情。
例如,我想在请求成功完成后向用户显示模式,或者如果请求成功完成则禁用某些元素。
我应该使用回调吗?或承诺?如果是,那么如何
export const fetchHorizontalSpecialProductsList=(virtinId)=> {
return (dispatch) => {
dispatch({
type: Types.REQUEST_FETCH,
});
HomeApi().specialProducts({vitrinId:virtinId,rows:8,page:0,frontTypeList:["SPECIAL"]}).then((response) => {
dispatch({
type: Types.REQUEST_SUCCESS,
payload: response,
});
//
.then(probably here)
//
}).catch((response) => {
dispatch({
type: Types.REQUEST_FETCH_FAIL,
payload: response,
});
});
};
};
当请求成功时我需要显示一个模态
你只需要连接到 Redux 存储,例如,在 Redux 状态下你应该声明这些属性:
成功:false/true.
然后收到的动作是REQUEST_FETCH_FAIL或REQUEST_SUCCESS你只需要在reducer中使用switch..case语句将变量更改为true/false.
你的容器连接到 Redux store,取决于 props 是否成功true/false,你可以做你想做的事情,
我想在一个动作完成后在组件内部做一些事情。 例如,我想在请求成功完成后向用户显示模式,或者如果请求成功完成则禁用某些元素。
我应该使用回调吗?或承诺?如果是,那么如何
export const fetchHorizontalSpecialProductsList=(virtinId)=> {
return (dispatch) => {
dispatch({
type: Types.REQUEST_FETCH,
});
HomeApi().specialProducts({vitrinId:virtinId,rows:8,page:0,frontTypeList:["SPECIAL"]}).then((response) => {
dispatch({
type: Types.REQUEST_SUCCESS,
payload: response,
});
//
.then(probably here)
//
}).catch((response) => {
dispatch({
type: Types.REQUEST_FETCH_FAIL,
payload: response,
});
});
};
};
当请求成功时我需要显示一个模态
你只需要连接到 Redux 存储,例如,在 Redux 状态下你应该声明这些属性: 成功:false/true.
然后收到的动作是REQUEST_FETCH_FAIL或REQUEST_SUCCESS你只需要在reducer中使用switch..case语句将变量更改为true/false.
你的容器连接到 Redux store,取决于 props 是否成功true/false,你可以做你想做的事情,