使用redux和axios获取api数据
使用redux,我们可以轻松管理状态。因为如果您的组件需要共享和更新状态,那么就需要它。在本篇文章中,我将为您提供完整的redux设置,其中包括带有axios调用api获取数据的示例。
因此,让我们开始我们的redux教程。现在,通过在终端中运行以下代码来创建React项目:
npx create-react-app my-app
现在我们必须安装redux和react-redux。所以打开终端并一个接一个地运行两个命令。
npm install redux//thennpm install react-redux//thennpm install --save redux-thunk
在您的myapp\index.js文件,添加以下代码。
import {Provider} from 'react-redux';
import store from './store';ReactDOM.render(<React.StrictMode><Provider store={store}><App /></Provider></React.StrictMode>,document.getElementById('root')
);
创建您的myapp\src\store\actions\userAction.js文件,添加以下代码。
export const UPDATE_USER = 'UPDATE_USER';const fetch_user = (dispatch) => {axios.get('https://reqres.in/api/users').then(res => res.json()).then(res => dispatch({type:UPDATE_USER,payload:res.data}))
}export default fetch_user;
创建您的myapp\src\store\reducer\useruserReducer.js文件,添加以下代码。
import {UPDATE_USER} from '../actions/userAction';const userReducer = (state = {},{type,payload}) => {// console.log(actions)switch (type) {case UPDATE_USER:return payloaddefault:return state;}
}export default userReducer;
创建您的mpapp\src\store\index.js文件,添加以下代码。
import {applyMiddleware, combineReducers, compose, createStore} from 'redux';
import userReducer from './reducers/userReducer';
import thunk from 'redux-thunk';const allReducer = combineReducers({users:userReducer});const InitialStates = {users: []
} const middleware = [thunk];const store = createStore(allReducer,InitialStates,compose(applyMiddleware(...middleware);export default store;
我们准备在组件中使用redux。现在打开您的App.js文件,添加以下代码。
import fetch_user from './store/actions/userAction';
import { useSelector, useDispatch } from 'react-redux';function App() {const users = useSelector(state => state.users);const dispatch = useDispatch();return (<div className="App"><h1>Redux Tutorial</h1>Users: <button onClick={()=>dispatch(fetch_user)}>Fetch Users</button>{users.length === 0 ? <p>No user found!</p> :users.map(user => <p key={user.id}>{user.first_name}</p>) }</div>);
}
export default App;
这就是使用Axios Api调用的Redux完整指南示例。
使用redux和axios获取api数据相关推荐
- 使用vuex和axios获取api数据
使用vuex,我们可以轻松管理状态.因为如果您的组件需要共享和更新状态,那么就需要它.在本篇文章中,我将为您提供完整的vuex设置,其中包括带有axios调用api获取数据的示例. 因此,让我们开始我 ...
- axios获取html页面,axios 获取后台数据
什么是axios axios是一个获取后台数据的插件 使用 前提得安装node.js 页面直接引用 下载 选中文件夹 shift+右键 调出命令窗口 输入 npm i axios -g axios的特 ...
- vue通过axios获取json数据
文章目录 前言 一.axios的安装 二.通过axios.get()方法获取json数据 2.1下面的代码是通过axios.get()获取json数据 2.2显示json数据 总结 前言 今天学习了通 ...
- 使用 Redux 和 Axios 获取数据
正如许多开发人员所知,状态管理是您在构建健壮的应用程序时必须处理的众多问题之一.它会很快变成一场噩梦,尤其是在客户端. Redux 强制执行单向数据流,这使得理解事件如何改变应用程序状态变得容易.伟大 ...
- 2021-11-03 vue笔记:反向代理介绍和使用场景,基于 vue-cli 的反向代理设置及 axios 获取 json 数据
文章目录 0.反向代理是什么? 1.正向代理(forward proxy) 2.反向代理(Reverse proxy) 1.为什么要配置反向代理? 2.如何实现vue中配置反向代理? 2.1.安装和引 ...
- golang 获取api 数据
直接上代码 type ApiRequest interface{} //参数 e 一个空接口,f http请求连接, p 请求方式 参数为 "POST" 或 "GET&q ...
- 利用axios获取数据并渲染到视图层
利用axios获取到数据后,渲染到视图层,完成真正的前后端添加删除功能 <!DOCTYPE html> <html lang="en"><head&g ...
- json模拟数据怎么用_在使用axios获取自己模拟的json数据是踩到的坑
最近在使用Vue仿写一个网易云音乐的单页面应用,当页面布局什么的写完后,然后就准备用axios获取后台数据渲染页面了,当然,我自己写的,并没有后台,所以,我就自己写json文件,然后弄proxy代理什 ...
- 如何从stackoverflow的api 中获取是数据_如何修复Vue中的 “this is undefined” 问题
当我们使用 Vue 在愉快的开发项目的时候,突然报了一个错误: this is undefined 别担心,不只有你一个人,我也经常遇到这个问题很多次,接下我们一起来看看如何解决这个问题. 一个可能的 ...
最新文章
- 1109 Group Photo (25 分)【难度: 一般 / 知识点: 模拟 排序】
- Mips TLB miss异常
- C# Socket案例(服务端与客户端)
- 【SQL】分组数据,过滤分组-group by , having
- 整数线性规划实现(lingo,python分枝界定法)
- java中字符串(1)
- 记录——《C Primer Plus (第五版)》第九章编程练习第十题
- mysql的分页如何操作_Mysql有关分页的操作
- 5g组网sa方式的演进_关于5G的SA(独立组网)和NSA(非独立组网),这篇通俗易懂!
- 1.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:...
- 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
- rubyonrails test 小记
- .net core with 微服务 - 微服务架构图
- echarts散列图示例
- 爬虫实例 8684公交网-太原公交线路信息
- 天才在左疯子在右 读书笔记
- steam无法连接至计算机,大神传授win7系统游戏无法连接至steam网络一直卡在“正在连接steam”界面的设置技巧...
- datawhale task5变形
- zabbix触发器通过钉钉发送警报
- python实现屏幕视频录制_Python实现屏幕录制功能的代码