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

网站搭建制作元素领域wordpress

网站搭建制作,元素领域wordpress,手机端网站开发要注意什么,西宁整站优化核心思想#xff1a;单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store#xff08;存储#xff09; 应用的唯一状态容器#xff0c;存储整个应用的状态树,使用 createStore() 创建。 getState()#xff1a;获取当前状态。dispatch(action)#xff…核心思想单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store存储 应用的唯一状态容器存储整个应用的状态树,使用 createStore() 创建。 getState()获取当前状态。dispatch(action)派发动作以触发状态更新。subscribe(listener)订阅状态变化。 Action动作 描述应用中发生的事情就是一个普通的 JavaScript 对象必须有 type 属性用来描述动作的类型其他字段可以包含任何附加信息例如payload。 Reducer状态处理器 是一个纯函数接收当前的状态和一个动作返回新的状态函数签名(state, action) newState,通过处理不同类型的动作更新状态。 Middleware中间件 拦截 dispatch 的动作用于扩展 Redux 的功能例如处理异步操作redux-thunk或日志记录redux-logger。 ProviderReact 集成部分 使用 react-redux 提供 Provider 组件将 Redux 的 store 传递给整个 React 组件树。 应用 安装依赖 npm install redux react-redux创建 Redux Store 定义Action // src/actions/types.js // 定义一些常量来表示 action 的类型这有助于避免拼写错误 export const INCREMENT INCREMENT; export const DECREMENT DECREMENT;// src/actions/counterActions.js // 创建 action creator 函数来生成 action 对象。 import { INCREMENT, DECREMENT } from ./types;export const increment () ({type: INCREMENT, });export const decrement () ({type: DECREMENT, });创建 Reducer // src/reducers/counterReducer.js // 创建 reducer 函数来处理不同的 action 类型。 import { INCREMENT, DECREMENT } from ../actions/types;const initialState {count: 0, };function counterReducer(state initialState, action) {switch (action.type) {case INCREMENT:return {...state,count: state.count 1,};case DECREMENT:return {...state,count: state.count - 1,};default:return state;} }export default counterReducer;// src/reducers/index.js import { combineReducers } from redux; import counterReducer from ./counterReducer;const rootReducer combineReducers({counter: counterReducer, });export default rootReducer;创建 Store // store.js import { createStore } from redux; import counterReducer from ./reducer;const store createStore(counterReducer);export default store;在 React 应用中使用 Redux 设置 Provider // index.js import React from react; import ReactDOM from react-dom/client; import App from ./App; // Provider是React-Redux提供的一个组件用于将Redux store传递给应用中的所有组件。 import { Provider } from react-redux; import store from ./store/index; import reportWebVitals from ./reportWebVitals;const root ReactDOM.createRoot(document.getElementById(root)); root.render(React.StrictModeProvider store{store}{ }{/* 将App组件包裹在Provider中 */}App //Provider/React.StrictMode ); reportWebVitals();组件中访问状态和派发动作 // src/components/js/CounterWithHooks.js import React from react; import { useSelector, useDispatch } from react-redux; import { increment, decrement } from ../../actions/counterActions;function CounterWithHooks() {const count useSelector((state) state.counter.count);const dispatch useDispatch();return (divh1Count: {count}/h1button onClick{() dispatch(increment())}Increment/buttonbutton onClick{() dispatch(decrement())}Decrement/button/div); }export default CounterWithHooks;Redux 中间件的扩展 添加异步支持redux-thunk npm install redux-thunk修改 store.js import { createStore, applyMiddleware } from redux; import {thunk} from redux-thunk;// 使用命名导出 // import thunk from redux-thunk;// 使用默认导出 import counterReducer from ./reducer;const store createStore(counterReducer, applyMiddleware(thunk));export default store;示例异步 Action // src/actions/counterActions.js // 创建 action creator 函数来生成 action 对象。 import { INCREMENT, DECREMENT } from ./types; export const increment () ({type: INCREMENT, });export const decrement () ({type: DECREMENT, });export const incrementAsync () {return (dispatch) {setTimeout(() {dispatch(increment());}, 1000);}; };export const decrementAsync () {return (dispatch) {setTimeout(() {dispatch(decrement());}, 1000);}; }; 示例 // src/components/js/CounterWithHooks.js import React from react; import { useSelector, useDispatch } from react-redux; import { increment, decrement, incrementAsync, decrementAsync } from ../../actions/counterActions;function CounterWithHooks() {const count useSelector((state) state.counter.count);const dispatch useDispatch();return (divh1Count: {count}/h1button onClick{() dispatch(increment())}Increment/buttonbutton onClick{() dispatch(decrement())}Decrement/buttonbutton onClick{() dispatch(incrementAsync())}Increment Async/buttonbutton onClick{() dispatch(decrementAsync())}Decrement Async/button/div); }export default CounterWithHooks; 总结 State: 整个应用的状态树。Actions: 描述状态变化的对象。Reducers: 纯函数根据 action 更新 state。Store: 持有应用的 state 树提供方法来获取 state、分发 action 和注册/注销监听器。
http://www.hkea.cn/news/14344571/

相关文章:

  • 太原网站建设技术外包网站制作素材图片
  • 网站开发属于什么资产湖州建设局网站 项目验收流程
  • 开网站挣不挣钱网站建设的颜色值
  • 新网互联 网站上传元气森林的网络营销方式
  • 广州网站建设外包建设推广海棠网站
  • 做公司网站,哪个程序用的多阿里云建站文章搜索
  • 做网站 收费广州新塘网站建设推广公司
  • 网站网页设计怎样wordpress 下拉菜单插件
  • 外贸网站源码下载域名 就一个网站
  • 郑州房地产网站建设小荷作文网
  • 北仑网站制作企业馆
  • 百度网站开发语言温州网站策划
  • 镇海区建设交通局网站进不去了教育培训平台
  • 答题网站开发教程抖音代运营怎么样
  • 公司网站建设计入什么科目国家市场监督局官网入口
  • 在dw里如何做网站wamp做的网站上传
  • 网站做竞价河北城乡建设部网站首页
  • 通过域名打开网站是做映射么华为云 搭建网站
  • 无忧网站建设网页设计网站模板网站建设网页模板下载
  • 企业网站建设常见问题昆山网站网站建设
  • iis 无法访问此网站网址域名注册信息查询
  • 360如何做免费的网站wordpress模板在哪
  • 山西建设机械网站seo优化团队
  • 备案编号不放在网站检查wordpress主题
  • wordpress网站关键字创建信息平台的方法
  • 门户网站建站齐齐哈尔市建设工程监察网站
  • 深圳优质网站建设案例高端网站设计官网
  • 杭州设计企业网站高端公司沈阳京科妇科医院
  • 石家庄青园网站建设wordpress通过电子邮件
  • 怎么做网站推广方案凡科网站代理登录入口