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

网站群内容管理系统的设计与实现wordpress用redis和mem

网站群内容管理系统的设计与实现,wordpress用redis和mem,seo排名赚钱,网上工商营业注册登记使用 useContext useReducer 实现的轻量级状态管理,适合中小型 React 应用使用。 🧠 实现思路 使用 createContext 创建两个上下文:StateContext 和 DispatchContext。用 useReducer 管理状态逻辑。创建一个 Provider 组件包裹应用。提供两…

使用 useContext + useReducer 实现的轻量级状态管理,适合中小型 React 应用使用。


🧠 实现思路

  1. 使用 createContext 创建两个上下文:StateContextDispatchContext
  2. useReducer 管理状态逻辑。
  3. 创建一个 Provider 组件包裹应用。
  4. 提供两个 hooks:useGlobalState()useGlobalDispatch(),分别获取状态和派发方法。

✅ 示例代码

1️⃣ 创建状态管理库:store.js

import React, { createContext, useReducer, useContext } from 'react';// 定义初始状态
const initialState = {count: 0,user: null,
};// 定义 reducer
function reducer(state, action) {switch (action.type) {case 'INCREMENT':return { ...state, count: state.count + 1 };case 'DECREMENT':return { ...state, count: state.count - 1 };case 'SET_USER':return { ...state, user: action.payload };default:throw new Error(`Unknown action type: ${action.type}`);}
}// 创建两个上下文
const StateContext = createContext(null);
const DispatchContext = createContext(null);// 创建 Provider
export function GlobalProvider({ children }) {const [state, dispatch] = useReducer(reducer, initialState);return (<StateContext.Provider value={state}><DispatchContext.Provider value={dispatch}>{children}</DispatchContext.Provider></StateContext.Provider>);
}// 封装 hooks
export function useGlobalState() {const context = useContext(StateContext);if (context === undefined) {throw new Error('useGlobalState must be used within a GlobalProvider');}return context;
}export function useGlobalDispatch() {const context = useContext(DispatchContext);if (context === undefined) {throw new Error('useGlobalDispatch must be used within a GlobalProvider');}return context;
}

2️⃣ 使用示例

App.js
import React from 'react';
import { GlobalProvider } from './store';
import Counter from './Counter';
import User from './User';function App() {return (<GlobalProvider><h1>My App</h1><Counter /><User /></GlobalProvider>);
}export default App;

Counter.js
import React from 'react';
import { useGlobalState, useGlobalDispatch } from './store';function Counter() {const { count } = useGlobalState();const dispatch = useGlobalDispatch();return (<div><h2>Count: {count}</h2><button onClick={() => dispatch({ type: 'INCREMENT' })}>+</button><button onClick={() => dispatch({ type: 'DECREMENT' })}>-</button></div>);
}export default Counter;

User.js
import React from 'react';
import { useGlobalState, useGlobalDispatch } from './store';function User() {const { user } = useGlobalState();const dispatch = useGlobalDispatch();const login = () => {dispatch({ type: 'SET_USER', payload: { name: 'Heo Hao' } });};return (<div><h2>User: {user ? user.name : 'Guest'}</h2><button onClick={login}>Login</button></div>);
}export default User;

🧩 优点

  • 不依赖第三方库(如 Redux、Zustand)
  • 轻量、易用、类型安全(可结合 TS)
  • 适合中小项目

文章转载自:

http://ranAMEgS.jmdpp.cn
http://JmGjRNd6.jmdpp.cn
http://Vh6CmMX5.jmdpp.cn
http://TB0xUPGd.jmdpp.cn
http://aHwJ5Cn7.jmdpp.cn
http://ZFebTECG.jmdpp.cn
http://UcziAoNR.jmdpp.cn
http://aoivPX7V.jmdpp.cn
http://FzwBYrwv.jmdpp.cn
http://dWgG0TQ7.jmdpp.cn
http://srDEL8Us.jmdpp.cn
http://dQ8kLE9w.jmdpp.cn
http://2Xr0zHQf.jmdpp.cn
http://pR1pwtfn.jmdpp.cn
http://8wJ508WW.jmdpp.cn
http://MiP5kKUI.jmdpp.cn
http://SyFnErHq.jmdpp.cn
http://4KJ3Jjzx.jmdpp.cn
http://Z5FB1sQe.jmdpp.cn
http://QYnbuJct.jmdpp.cn
http://uh3PCw3M.jmdpp.cn
http://DRgbLSVQ.jmdpp.cn
http://r3U7Irtd.jmdpp.cn
http://9w9Xya5c.jmdpp.cn
http://zX3pZURW.jmdpp.cn
http://LwktNbQR.jmdpp.cn
http://v1PT9fzo.jmdpp.cn
http://ELe7t6cY.jmdpp.cn
http://Tw83APlq.jmdpp.cn
http://Lzathvay.jmdpp.cn
http://www.dtcms.com/wzjs/766516.html

相关文章:

  • 小程序和网站开发难度厦门seo服务
  • 宁夏城乡住房建设厅网站做自媒体查找素材的网站
  • 企业网站内容策划wordpress禁用admin用户
  • 网站开发支持上传gif杭州人才网
  • 网站是哪个公司做的菜鸟制作个人网站网页实例
  • 做外贸应该去什么网站wordpress登录链接
  • seo网站关键词优化工具wordpress iis 中文乱码
  • 直播网站建设1个节点多少钱贵阳做网站软件
  • 网站建设流程时间表不良网站代码怎么查
  • 具有价值的响应式网站建程网土石方工程
  • 济南润尔网站建设技术公司江西赣州公司
  • 代理下单网站开发广州小型企业网站建设
  • 什么网站做简历模板宁波 手机网站建设
  • 免x网站wordpress界面变宽
  • 做网站和做app哪个贵哪个网站做照片书最好看
  • 建筑专业网站建设怎么创作一个微信小程序
  • 河南 网站建设网站开发产品规划要求
  • 旅游网站系统设计与开发无锡网站推广无锡做网站
  • 网站备案证图片做网站要用什么语言
  • 网站建设高考题佛山网站建设公司价格多少
  • 新网站如何被网站收录网站建设服务器介绍图片
  • 天津企业模板建站建站快车源码
  • 金融产品做网站推广温州网页网站制作
  • 企业不想做网站的原因我想开个公司怎么注册
  • 建网站 英文视频直播app
  • 廊坊建设网站平面设计多久能学会
  • 广告联盟建设个人网站互联网营销师国家职业技能标准
  • 用c 怎么做网站系统wordpress流量插件
  • qq网站空间赞国际网站建设工具
  • 天津网站建设制作wordpress 过滤钩子