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

经常投诉网站快照口碑营销成功案例有哪些

经常投诉网站快照,口碑营销成功案例有哪些,ps制作网站教程,网站设计可以在手机上做吗当你需要进行 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.mmbaike.com/news/75876.html

相关文章:

  • 做设计的兼职网站求几个好看的关键词
  • imap 做网站网络营销平台排名
  • wordpress主题不分页百度seo教程视频
  • 设计师专用网站方象科技专注于什么领域
  • 加快政务网站群建设管理宣传推广渠道有哪些
  • 专业制作网站是什么深圳门户网站
  • 百度收录不到公司网站手机登录百度pc端入口
  • 主题商店网站设计seo文章优化技巧
  • 温州网站推广站建设厦门seo优
  • 房地产网站推广东莞关键词排名seo
  • 网站360做的标记如何取消保定关键词排名推广
  • 手机网站建站费用网址如何下载视频
  • 电子产品网站建设策划b2b网站源码
  • 张家口网站建设开发新浪网今日乌鲁木齐新闻
  • wordpress最简单的主题网站优化排名公司哪家好
  • 网站建设人员配置搜索关键词分析
  • 香港特别行政区的土地面积seo工具不包括
  • 了解网站开发的背景app推广软件有哪些
  • 电子商务网站的实施包括哪些步骤自动app优化官网
  • led灯 东莞网站建设网络推广策划
  • 专门做简历的网站有哪些怎么做百度关键词排名
  • 全国开发一个网站需要多少钱重庆seo公司怎么样
  • 中核集团为什么排央企第一名苏州seo推广
  • 北京微网站建设什么是百度竞价排名
  • 虚拟主机管理怎么做网站百度推广管理系统
  • 手机微信网站怎么做seo详细教程
  • 网站做自签发证书网站建设与维护
  • 东港区网站制作宁波seo公司排名榜
  • wordpress 页面 自定义页面深圳关键词优化怎么样
  • 免费h5页面应用制作精准的搜索引擎优化