如何使用react中axios获取数据
2020-04-20 17:16
489 查看
准备工作
- 下载axios
npm install axios --save
- 然后在需要调用数据的地方引入
import axios from 'axios';
正式开始
- 我需要让dispatch派发action给store,告诉store我需要干什么!(这里我通过getList()方法)
const mapDispatchToProps = (dispatch) =>{ return{ //handleInputFocus()是我要点击触发的 handleInputFocus () { //getList方法 dispatch(actionCreators.getList()); }, } }
- 然后在actionCreators.js中将getList方法写入
//使用之前一定要下载并且引用 import axios from 'axios'; import {fromJS} from "immutable"; //因为就在同一个文件所以不需要export直接定义就可以了 const changeList = (data) =>{ return{ type:actionTypes.GET_LIST, //因为传过来的数据是普通的数据所以使用fromJS包裹起来将其变为immutable对象 data:fromJS(data) } } export const getList = () => { //返回一个对象 return (dispatch) => { axios.get('./api/headerList.json').then((res) => { // 获取数据 const data = res.data dispatch(changeList(data.data)) }).catch((res) => { console.log('error') }) }
3.然后在reducer.js中定义默认数据,并且将数据更改
import * as actionTypes from "./actionTypes"; import { fromJS } from "immutable"; const defaultState =fromJS({ focus: false, list:[] }) export default (state = defaultState,action) => { if(action.type === actionTypes.GET_LIST){ return state.set('list',action.data) } return state }
- 然后在需要更改的文件夹中的mapStateToProps中定义数据,并且在将其调用。
const mapStateToProps = (state) =>{ return { list: state.header.get('list') } } //然后在需要调用的地方使用this.props.list.map循环调用 <SearchInfoList> { this.props.list.map((item) => { return <SearchInfoItem key={item}>{item}</SearchInfoItem> }) } </SearchInfoList>
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 在vuex的store中如何正确的通过axios进行请求操作获取数据
- iOS 7 SDK: 如何使用后台获取(Background Fetch)
- [ios开发基础之 Core Data[2]]如何使用Core Data – 预加载和引入数据
- vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
- 如何使用 Yahoo! Finance stock API 获取股票数据
- iOS——异步获取数据并刷新界面dispatch_async的使用方法
- IOS异步获取数据并刷新界面dispatch_async的使用方法
- 如何让python爬虫获取的数据焕发生机?(pyMysql库的简单使用和避坑)
- iOS 7 SDK: 如何使用后台获取(Background Fetch)
- iOS中获取设备数据以及如何获取应用信息之UIDevice的用法
- 在C#中如何使用正式表达式获取匹配所需数据
- Django 如何 在view.py中使用GET 获取数据?
- iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒
- vue中用vuex来管理axios获取到的数据
- 如何使用JavaScript / jQuery获取表单数据?
- 手把手教你iOS如何调用React Native,即是iOS与RN的交互,将推送数据传递RN
- 如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
- 如何使用PHP获取原生的POST数据?
- 如何使用dac获取sharepoint list的数据