react中的 redux-thunk中间件 如何使用,如何发送ajax渲染数据?

本文介绍了如何使用redux-thunk中间件在React应用中处理异步action,包括安装、配置和创建异步action。通过示例展示了如何通过axios发送AJAX请求获取数据,并在reducers中处理,最后在组件中渲染数据。同时提到了使用Chrome开发者工具调试Redux状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redux-thunk的作用:

redux-thunk 中间件可以处理函数形式的 action。因此,在函数形式的 action 中就可以执行异步操作代码,完成异步操作。

 步骤:

1、安装: npm i redux-thunk

2.使用:在store/index.js中

 导入 redux-thunk , applyMiddleware

import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'

3.调用applyMiddleware将 thunk 添加到中间件列表中

const store = createStore(rootReducer, applyMiddleware(thunk))

4.在store文件里创建一个actions文件,里面创建一个newsList.js文件用来发送ajax请求

import axios from 'axios'  //导入axios
import { NEWLIST_GET } from '../actionTypes'
export const getNewsList = (id) => {
  const fn = async (dispatch) => {
    const res = await axios.get(
      'http:xxxxxxxxxxxxx'
    )
    console.log('新闻列表', res)
    dispatch({ type: NEWLIST_GET, payload: res.data.data.results })
  }
  return fn
}

在reducers/newsList.js中写如下代码:

import { NEWLIST_GET } from '../actionTypes'
const initState = [] // 所有的新闻列表
export default function newsList (state = initState, action) {
  console.log(action)
  switch (action.type) {
    case NEWLIST_GET:
      return action.payload
    default:
      return state
  }
}

5.ajax发送请求之后,如何渲染数据到页面呢?往下看:

在想要渲染的组件内导入 (import { getNewsList } from '../store/actions/newsList'),然后用map方法进行循环渲染往下铺设数据

还有一点就是,开发react项目时,通过chrome开发者工具调试跟踪redux状态,先要安装 redux的开发者工具,再安装redux调试工具 ,网上有很多安装教程,这个开发者工具可以去极简插件下载,很简单就装好了。

希望以上对你有帮助~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值