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

呼和浩特做网站的地方seo教程网

呼和浩特做网站的地方,seo教程网,wordpress能做手机站么,做网站需要Excel表格吗redux系列文章目录 第一章 简单学习redux,单个reducer 第二章 简单学习redux,多个reducer 第四章 react-redux,reduxjs/toolkit依赖,学习 第五章 两张图告诉你redux常使用的api有哪些 前言 前面两章,我们是只使用的redux的依赖。 本章…

redux系列文章目录

第一章 简单学习redux,单个reducer

第二章 简单学习redux,多个reducer

第四章 react-redux,@reduxjs/toolkit依赖,学习

第五章 两张图告诉你redux常使用的api有哪些

前言

前面两章,我们是只使用的redux的依赖。
本章使用讲述的redux,react-redux,和@reduxjs/toolkit三者结合使用。下一章,讲述的是只使用react-redux,和@reduxjs/toolkit开发页面。

一 redux和 react-redux的区别

redux

redux 是支持不同框架(react,vue等)使用,且适用web,react native等环境使用;

react-redux

react-redux是只能react框架,且只适用web环境使用;React-Redux 是 Redux 的 React 官方绑定库,它提供了在 React 应用中使用 Redux 的专用工具和组件,还提供了hooks钩子支持使用。

@reduxjs/toolkit

@reduxjs/toolkit是Redux的进阶版,旨在简化状态管理的开发过程。它不仅包含了Redux的核心功能,还集成了一些最佳实践和工具,使得开发变得更加高效和便捷。

提示:一般框架使用react-redux都会和@reduxjs/toolkit依赖搭配使用。官网文档也是这样推荐使用的

官网地址

二 准备工作

本章基第一章,复制一份counterReducer.js文件改造成counterReducer_react-redux.js。最后看效果。

下载依赖

npm i  react-redux  @reduxjs/toolkit

新增文件:src/redux/counterReducer_react-redux.js
新增文件:src/pages/couter_react-redux/index.js

counterReducer_react-redux.js文件

import { createSlice } from "@reduxjs/toolkit";const counterSlice = createSlice({name: 'countNumTwo',initialState: {value:0},reducers: {increment:state=> {state.value+=1;},decrement:state=> {state.value-=1;},}
})export const { increment, decrement } = counterSlice.actions;
export default counterSlice.reducer;

couter_react-redux/index.js


import React, { Fragment } from 'react'
import { useSelector, useDispatch } from 'react-redux'
import { increment, decrement } from '../../redux/counterReducer_react-redux'
export default function CountTwo() {const count = useSelector(state => state.countNumTwo.value)const dispatch = useDispatch()return (<Fragment><div>当前count:{count}<br /><button onClick={() => {dispatch(increment())}}>新增count</button>&nbsp;<button onClick={() => {dispatch(decrement())}}>减少count</button></div><br /><br /><br /></Fragment>)
}

redux/store.js文件

import { createStore, combineReducers } from 'redux';
import counterReducer from './counterReducer'
import userReducer from './userReducer';
import counterReducerTwo from './counterReducer_react-redux';
//组合多个reducer
const rootReducer = combineReducers({countNum: counterReducer,userList: userReducer,{/* 将新写的reducer加进来*/}countNumTwo: counterReducerTwo
})let store = createStore(rootReducer);export default store

src/index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import './pages/template/styles.css'
import { RouterProvider } from 'react-router-dom';
import routers from './pages/routers';
import { Provider } from 'react-redux';
import store from './redux/store';  
const root = ReactDOM.createRoot(document.getElementById('root'));root.render(<React.StrictMode>{/* 本章核心代码 ,使用Provider组件;这样整个应用都可以使用store*/}<Provider store={store}><RouterProvider  router={routers}/></Provider></React.StrictMode>
);
reportWebVitals();

提示:我这边应用是配置了路由的,所以看效果视频也是,看/count路径的页面。

最后,将页面couter_react-redux/index.js引进页面couter/index.js中做展示。couter/index.js对应的本地/count路径。嘻嘻。

效果

三个依赖结合效果

三 分析对比

在这里插入图片描述
上图对比Count组件和CountTwo组件代码,我们可以发现
使用redux:
1.组件需要引入store,方可以使用dispatch,subscribe方法。store.subscribe是可以监听到其state的变化,但直接将store.getState()放入render中,其实不能获取最新值,需要辅助工具useState才可以拿到最新值,render到页面。

使用react-redux和@reduxjs/toolkit:
1.组件使用useSelector 就可以获取store中的最新值,
2.使用uesdispatch,可以直接传送action给reducer

新属性介绍

Provider组件

< Provider > 组件通过其 store prop 接收 Redux store,并将其传递给其子组件树。这样,任何嵌套在 内的组件都可以通过 Redux 的 connect() 高阶组件或 useSelector 和 useDispatch 钩子访问到这个 store。

createSlice

createSlice 是一个非常实用的工具,它简化了创建和管理Redux切片(slice)的过程。createSlice 函数是 Redux Toolkit 库的一部分,它提供了一个更简洁的方式来定义reducer逻辑和生成action creators。

createSlice 函数接受一个配置对象,这个对象包含几个关键部分:

  • name: 切片的名称,用于生成action types。
  • initialState: 切片的初始状态。
  • reducers: 一个对象,其键是action的类型(通常是小驼峰命名),值是对应的reducer函数。

useSelector

useSelector 钩子允许你从 Redux store 中提取部分 state。当你想要在组件中访问 Redux store 中的数据时,你可以使用 useSelector 来实现。

useDispatch

useDispatch 钩子允许你派发 action 到 Redux store。这对于触发 state 的更新非常有用。useDispatch 返回一个 dispatch 函数,这个函数可以直接用来派发 action。每次调用 dispatch 时,Redux store 会更新,相应的 reducers 会被调用以计算新的 state。

总结

如果你的应用框架是react,建议使用react-redux。因为可以简写很多程序上的使用。
如果你的工作业务涉及到跨框架去开发,建议使用redux.

http://www.dtcms.com/wzjs/305943.html

相关文章:

  • 如何做自己的网站商城网推什么意思
  • 太原seo网站管理专业的推广公司
  • 做网站css代码广州seo关键词优化费用
  • 去年做那个网站致富做竞价托管的公司
  • 寿光专业做网站的公司百度提问首页
  • 长春网站建设推荐网诚传媒seo专业知识培训
  • 陕西建筑培训网百度seo教程网
  • 个人网站多少钱网站优化排名软件推广
  • 大连手机自适应网站建设电话对网站的建议和优化
  • 宽带办理哪个最便宜seo推广公司价格
  • 网站建设中html安装百度到手机桌面
  • 武汉大学人民医院邮编浙江企业seo推广
  • 什么网站是用php做的万网官网登录
  • 响应式网站导航栏模板长沙谷歌seo
  • 百度站长怎么验证网站交友平台
  • 徐州网站建设方案开发网站流量分析报告
  • 福田网站建设设计公司千锋教育介绍
  • 网站为什么要备案登记软文发稿系统
  • 网站开发工程师待遇淄博2345浏览器导航页
  • 资兴市住房和城乡建设局网站全媒体广告投放平台
  • 做外卖在哪个网站做好今天最新军事新闻视频
  • server 2008 iis 部署网站短视频推广渠道有哪些
  • 做海外视频的网站有哪些百度搜索智能精选入口
  • app网站制作太原seo网站排名
  • 江苏省建设考试网站2022百度指数排名
  • 建设工程的招标网站有哪些百度指数数据
  • 网页设计与网站建设教学视频百度推广时间段在哪里设置
  • 用dw做网站怎么单独修改字体营销策划公司介绍
  • 房屋建设网站7个湖北seo网站推广策略
  • 网站域名备案号查询seo1现在怎么看不了