触发redux动作后如何在组件内部执行操作?

时间:2019-06-18 13:31:28

标签: reactjs react-native redux redux-thunk

我想在动作完成后在组件内部进行操作。 例如,我想在请求成功完成后向用户显示模式,或者在请求成功完成后禁用某些元素。

我应该使用回调吗?还是承诺?如果是,那么如何

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,
            });
        });
    };
};

请求成功后,我需要显示一个模式

1 个答案:

答案 0 :(得分:0)

您只需要连接到Redux存储,例如,在Redux状态下,您应该声明以下属性: 成功:错误/正确。

然后接收到的操作是REQUEST_FETCH_FAIL或REQUEST_SUCCESS,您只需要在reducer中使用switch..case语句将变量更改为true / false。

您的容器已连接到Redux存储,根据道具成功与否而定,您可以执行doSomething(),