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

网络营销成功的案例有哪些北京网络seo

网络营销成功的案例有哪些,北京网络seo,做平面设计的网站,网站开发公司企业官网当你需要进行 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.dinnco.com/news/37589.html

相关文章:

  • wordpress 删除文章灰色seo关键词排名
  • 高埗镇网站建设郑州百度推广托管
  • 企业网站代码百度推广广告收费标准
  • 微信微网站开发价格seo推广沧州公司电话
  • 珠海网站开发企业网络营销策划书
  • 做网站前端用什么软件今日国际新闻大事件
  • 校园微网站建设方案ppt免费个人网站源码
  • 泰安网站制作排行重庆seo网站排名
  • 石河子网站制作微平台推广
  • 网站的客服一般怎么做怎么才能让百度收录网站
  • 影视网站代理google浏览器官网
  • 以下不属于网站建设优化免费大数据网站
  • 淄博学校网站建设哪家好百度在线问答
  • 网站怎么做响应式布局91关键词排名
  • 仿xss网站搭建徐州网页关键词优化
  • 邢台做wap网站的公司宁波seo外包服务
  • 做问卷调查赚钱的网站百度推广效果怎样
  • 建网站需要身份证吗黄冈网站推广软件
  • 国外建设网站的软件360搜索引擎入口
  • 株洲市做公司官方网站网盘搜索引擎
  • 百度推广官网网站陕西网页设计
  • 肥城网站设计公司爱站网综合查询
  • 广州开发区投资集团百度seo网络营销书
  • 南京工商注册核名查询系统seo网站推广工具
  • 建设公司网站方案微信小程序开发平台官网
  • 丰台网站建设多少钱深圳整合营销
  • vs做网站如何输出百度流量统计
  • 做重视频网站高端网站建设案例
  • 整个网站都在下雪特效怎么做网络营销企业网站推广
  • 知名高端网站建设报价b2b网站排名