首页 > 解决方案 > 有没有办法从反应 redux 中的一个动作调用另一个动作

问题描述

我的 redux 操作中有两个操作...现在我有一个发出发布请求的登录表单。现在我想从登录操作中调用另一个操作。现在我连接了登录功能,但没有连接 setLoading 功能

例如

export const loginUser = ()=>dispatch=>{
 setLoading();
}

export const setLoading = ()=>({
type: SET_LOADING
})

标签: javascriptreactjsfunctionreact-redux

解决方案


您可以使用此答案的逻辑来帮助您。此答案中给出了一个示例(这是获取产品的示例)。

React Redux 从后端方法获取数据

对于您的问题,最好注意我上面给您的链接的这一部分,因为您可以在程序中使用该逻辑。

在上面的链接中注意这一点

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

推荐阅读