react redux异步请求

server/2024/12/22 22:21:05/

1,创建store

javascript">//store/modules/channelStore.js
import { createSlice } from "@reduxjs/toolkit"
import axios from "axios"const channelStore = createSlice({name: 'channel',initialState: {channelList: []},reducers: {setChannels (state, action) {state.channelList = action.payload}}
})// 异步请求部分
const { setChannels } = channelStore.actions
// 单独封装一个函数 在函数内部return一个新函数
const fetchChannelList = () => {return async (dispatch) => {// 调用异步请求const res = await axios.get('http://geek.itheima.net/v1_0/channels')// 调用同步actioncreatedispatch(setChannels(res.data.data.channels))}
}export { fetchChannelList }const reducer = channelStore.reducerexport default reducer

2,导入子模块

javascript">// store/index.js
import { configureStore } from "@reduxjs/toolkit"
// 导入子模块reducer
import channelReducer from "./modules/channelStore"const store = configureStore({reducer: {channel: channelReducer}
})export default store

3,使用

javascript">import { fetchChannelList } from "./store/modules/channelStore"
import { useEffect } from "react"function App () {const { channelList } = useSelector(state => state.channel)// 得到dispatch函数const dispatch = useDispatch()useEffect(() => {dispatch(fetchChannelList())}, [dispatch])return (<div className="App"><ul>{channelList.map(item => <li key={item.id}>{item.name}</li>)}</ul></div>)
}

http://www.ppmy.cn/server/104912.html

相关文章

javascript利用三元运算符制作补零程序

这里的补零是当数字小于0时自动在前面补零&#xff0c;大于等于10时&#xff0c;前面不用补零。 代码如下 <html><head><meta charset"UTF-8"><title></title></head><body><script>let numprompt("请输入一…

leetcode 3 无重复字符的最长子串

leetcode 3 无重复字符的最长子串 正文普通解法双指针 正文 普通解法 重点观察示例 3。本题重点是创建一个动态区间&#xff0c;然后判断位于这个动态区间之外的字符是否被包含在这个动态区间范围内。并且对于 s 长度小于 1 的情况要重点进行讨论。 class Solution:def lengt…

【React原理 - 任务调度和时间分片详解】

概述 在React15的时候&#xff0c;React使用的是从根节点往下递归的方式同步创建虚拟Dom&#xff0c;由于递归具有同步不可中断的特性&#xff0c;所以当执行长任务时(通常以60帧为标准&#xff0c;即16.6ms)就会长时间占用主线程长时间无响应&#xff0c;导致页面卡顿&#x…

.Net 6 WebApi项目中使用Log4Net详解

众所周知as we know&#xff0c; log4Net是一个很方便的日志输出工具&#xff0c;但是&#xff0c;每次使用&#xff0c;日志都没有顺利输出过.....各种不知名问题.......所以就记录一下&#xff0c;方便下次使用。 具体的与原理和基础在此不做赘述&#xff0c;咱直接上干货&a…

PHP在现代Web开发中的高效应用与实战案例

在快速迭代的Web开发领域&#xff0c;PHP作为一种成熟且广泛使用的服务器端脚本语言&#xff0c;始终占据着举足轻重的地位。从简单的动态网页到复杂的企业级应用&#xff0c;PHP凭借其强大的功能、丰富的扩展库以及良好的社区支持&#xff0c;成为了众多开发者的首选。本文将深…

下载bison操作步骤

bison官网链接 bison-3.8.2官网源代码下载链接 选择下载版本

2024 实训室建设:1+X 老年生活照护实训室

摘要&#xff1a;本文探讨了 2024 年 1X 老年生活照护实训室的建设意义、设计理念、功能布局以及对老年照护人才培养的积极作用&#xff0c;旨在为提升老年生活照护水平提供有力的实践教学支持。 随着我国老龄化进程的加速&#xff0c;对高质量老年生活照护的需求日益增长。202…

小白学习c++P10【2065】整数的和(c++)详细讲解

目录 EXTRA## PT1-知识点引入&#x1f929; PT2-首次接触程序&#x1f4a6; PT3-知识点讲解&#x1f36e; PT4-有没有其他方法&#xff1f;&#x1f62f; PT5-课后小结&#x1f606; EXTRA## &#xff08;此专栏为连续剧形式&#xff0c;如出现看不懂等情况请回顾之前的文…