javascript - 有没有办法从反应 redux 中的一个动作调用另一个动作
问题描述
我的 redux 操作中有两个操作...现在我有一个发出发布请求的登录表单。现在我想从登录操作中调用另一个操作。现在我连接了登录功能,但没有连接 setLoading 功能
例如
export const loginUser = ()=>dispatch=>{
setLoading();
}
export const setLoading = ()=>({
type: SET_LOADING
})
解决方案
您可以使用此答案的逻辑来帮助您。此答案中给出了一个示例(这是获取产品的示例)。
对于您的问题,最好注意我上面给您的链接的这一部分,因为您可以在程序中使用该逻辑。
在上面的链接中注意这一点
// redux/product/product.actions.js
import { ShopActionTypes } from "./product.types";
import axios from "axios";
export const fetchProductsStart = () => ({
type: ShopActionTypes.FETCH_PRODUCTS_START
});
export const fetchProductsSuccess = products => ({
type: ShopActionTypes.FETCH_PRODUCTS_SUCCESS,
payload: products
});
export const fetchProductsFailure = error => ({
type: ShopActionTypes.FETCH_PRODUCTS_FAILURE,
payload: error
});
export const fetchProductsStartAsync = () => {
return dispatch => {
dispatch(fetchProductsStart());
axios
.get(url)
.then(response => dispatch(fetchProductsSuccess(response.data.data)))
.catch(error => dispatch(fetchProductsFailure(error)));
};
};