当前位置: 首页 > news >正文

互动营销的案例及分析上海关键词优化公司bwyseo

互动营销的案例及分析,上海关键词优化公司bwyseo,江西网站优化,网页设计与制作模板图当你需要进行 Redux 和 React Query 的组合时,除了常规的 Redux 方法(例如手动派发 action 和更新 state),还可以使用 createSlice 和 React Query 进行组合,这可以让你更方便地封装异步请求和更容易地更新状态。 使用…

当你需要进行 Redux 和 React Query 的组合时,除了常规的 Redux 方法(例如手动派发 action 和更新 state),还可以使用 createSlice 和 React Query 进行组合,这可以让你更方便地封装异步请求和更容易地更新状态。

使用 createSlice 创建 reducer:

import { createSlice } from '@reduxjs/toolkit';
import { fetchUserInfo, fetchUserList } from './api';
import { useQuery } from 'react-query';const userSlice = createSlice({name: 'users',initialState: {userInfo: null,userList: null,},reducers: {setUserInfo: (state, action) => {state.userInfo = action.payload;},setUserList: (state, action) => {state.userList = action.payload;},},
});export const { setUserInfo, setUserList } = userSlice.actions;export const useUserInfoQuery = (userId) => {const { data, isLoading, isError } = useQuery(['userInfo', userId], () => fetchUserInfo(userId));if (data) {dispatch(setUserInfo(data));}return {user: useSelector((state) => state.users.userInfo),isLoading,isError,};
};export const useUserListQuery = () => {const { data, isLoading, isError } = useQuery('userList', fetchUserList);if (data) {dispatch(setUserList(data));}return {userList: useSelector((state) => state.users.userList),isLoading,isError,};
};export default userSlice.reducer;

接着,在 store 中注册 userReducer reducer,并添加 React Query Provider,这样可以在整个应用程序中共享 React Query 的 cache,避免重复的请求。

import { configureStore } from '@reduxjs/toolkit';
import { QueryClient, QueryClientProvider } from 'react-query';
import { Provider } from 'react-redux';
import userReducer from './userSlice';const queryClient = new QueryClient();const store = configureStore({reducer: {users: userReducer,},
});ReactDOM.render(<Provider store={store}><QueryClientProvider client={queryClient}><App /></QueryClientProvider></Provider>,document.getElementById('root')
);

最后,在组件中使用创建的 useUserInfoQueryuseUserListQuery hooks,展示用户信息和用户列表。

import { useUserInfoQuery, useUserListQuery } from './userSlice';const UserInfo = ({ userId }) => {const { user, isLoading, isError } = useUserInfoQuery(userId);if (isLoading) {return <div>Loading</div>;}if (isError) {return <div>Error</div>;}return (<div><h1>{user.name}</h1><p>{user.email}</p><p>{user.phone}</p></div>);
};const UserList = () => {const { userList, isLoading, isError } = useUserListQuery();if (isLoading) {return <div>Loading</div>;}if (isError) {return <div>Error</div>;}return (<div>{userList.map(user => (<div key={user.id}><h2>{user.name}</h2><p>{user.email}</p><p>{user.phone}</p></div>))}</div>);
};

通过使用 createSlice 和 React Query 结合的方式,不仅可以更轻松管理 Redux 的异步状态和数据请求,也更方便地管理用户的相关状态信息。

http://www.wangmingla.cn/news/137532.html

相关文章:

  • 网站title在哪里seo推广系统
  • 网站建设指南企业网络搭建
  • 网站托管服务使用于那种类型的网站怎么制作公司网站
  • 做淘宝电商比较厉害的网站人工在线客服
  • 网站用cms合肥seo
  • 途牛企业网站建设营销网站制作
  • 专业类网站百度推广优化技巧
  • 国内做免费视频网站有哪些百度网络营销中心官网
  • 海伦网站建设武汉seo工厂
  • 一流的盐城网站开发石家庄自动seo
  • 佛山制作网站公司吗手机系统优化工具
  • 网站舆情监控怎么做自助建站平台源码
  • 郴州建设工程集团招聘信息网站最新seo新手教程
  • 3d建模怎么做网站旋转搜索引擎排名优化seo课后题
  • 公司网站 制作电脑培训学校能学什么
  • 做网站比较好的企业百度账户安全中心
  • 电子商务网站建设与维护管理每日国际新闻最新消息
  • 品牌型网站制作哪地推拉新app推广怎么做
  • app开发软件外包关键词seo
  • 个人网站怎么做微商网络广告公司
  • 微商seo发帖论坛
  • 做便民网站都需要提供什么微商推广哪家好
  • 家乡网站怎么做网站seo视频
  • 甘肃网站开发网络宣传推广
  • 做企业网站好处2022适合小学生的简短新闻
  • 企业网站怎么做外链站长工具seo排名
  • 做推广的网站吗百度入驻商家
  • 简单网页编辑软件济南做seo外包
  • 稀奇古怪好玩有用的网站江阴网站优化公司
  • 网站建设网站制作需要多少钱推广普通话的重要意义