使用 React Redux 和 axios 创建获取数据的操作的困难

伊察米

我已经在这个周末学习了 Redux,但我不明白如何使用axiosReduxRedux Thunk进行 API 调用

我已经从这个示例项目中删除了所有内容,因此只有一个操作:我想从中获取数据的操作。

这是我的代码和框的链接

我确定我错过了一些非常简单的东西,但我无法弄清楚它是什么。如果有人可以帮助我或为我指明正确的方向,我将不胜感激

我的减速机

const initialState = {
  data: [],
};

const reducer = (state = initialState, action) => {
  const newState = { ...state };

  switch (action.type) {
    case 'SOMETHING':
      newState.data = action.data;
      console.log(newState.data);
      break;
    default:
      newState;
  }
  return newState;
};

export default reducer;

我的行动

import axios from 'axios';

export function someFunction() {
  return (dispatch) => {
    axios.get('https://api.pokemontcg.io/v1/types').then((response) => {
      dispatch({ type: 'SOMETHING', data: response.data });
    });
  };
}

我的 App.js

function App({ someFunction }) {
  return (
    <div className="App">
      <button onClick={someFunction}>Click Me</button>
    </div>
  );
}

const mapStateToProps = (state) => {
  return {
    data: state.data,
  };
};

const mapDispatchToProps = (dispatch) => {
  return {
    something: () => dispatch(actionCreator.someFunction()),
  };
};
export default connect(mapStateToProps, mapDispatchToProps)(App);
OFRBG

你快到了!问题在这里:

const mapDispatchToProps = (dispatch) => {
  return {
    something: () => dispatch(actionCreator.someFunction()),
  };
};

您告诉 redux 将dispatch操作映射到名为{ something }. 您需要将道具something重命名或将地图重命名为someFunction.

const mapDispatchToProps = (dispatch) => {
  return {
    someFunction: () => dispatch(actionCreator.someFunction()),
  };
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Redux / Axios捕获和处理错误响应422?

使用React,Redux和Axios处理异步请求?

带有Django的CSRF,使用Axios的React + Redux

使用Redux异步操作和Axios测试

使用React和axios进行卷曲

如何使用action和axios.get()(Redux)从本地json文件获取数据?

如何在React中使用redux取消以前的axios

使用axios和ReactJS在React选择后如何获取数据?

无法使用React和Redux在组件中显示数据

如何使用axios在Google Maps和React中获取数据作为Placeid?

使用Axios和React进行重定向

使用React和Axios在Firebase中更新数据

如何使用redux-axios-middleware测试Redux异步操作

在异步调用axios API之后使用带有React Hook和Redux的SetState

使用Jest测试Redux和Axios提取中间件

如何使用React Native和Axios发送表单数据?

Axios React / Redux-使用重击动作创建器时不触发?

React Redux Axios Api使用路径参数获取呼叫

使用axios和React读取JSON数据

React native、redux 和 axios:UnhandledPromiseRejectionWarning

在 React 中使用 Axios 和列表显示 API 数据

如何在 React JS 中使用 Redux 和 Axios?

如何使用 React-Redux 和 Axios 在加载组件上获取数据?

无法使用 Vuex 和 axios 获取数据

React 和 redux 使用异步数据获取

React 和 Express:使用 Axios 从 3rd 方 API 获取数据

使用 react 和 redux 在 axios 的 get 请求中获取状态码 304

使用 axios React 应用程序重新渲染和无限获取数据

React 18 - 无法使用 axios 和 redux 读取未定义的属性