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

西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络网络服务包括

西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络,网络服务包括,18网站推广,德州市建设街小学官方网站React 基础巩固(三十五)——ReduxToolKit (RTK) 一、RTK介绍 Redux Tool Kit #xff08;RTK#xff09;是官方推荐的编写Redux逻辑的方法#xff0c;旨在成为编写Redux逻辑的标准方式#xff0c;从而解决上面提到的问题。 RTK的核心API主要有如下几个#xff1a; confi…React 基础巩固(三十五)——ReduxToolKit (RTK) 一、RTK介绍 Redux Tool Kit RTK是官方推荐的编写Redux逻辑的方法旨在成为编写Redux逻辑的标准方式从而解决上面提到的问题。 RTK的核心API主要有如下几个 configureStore包装createStore以提供简化的配置选项和良好的默认值。它可以自动组合你的slice reducer添加你提供的任何Redux中间件redux-thunk默认包含并启用Redux DevTools Extension。 参数描述reducer将slice中的reducer组成一个对象传入此处middleware传入中间件devTools是否配置devTools工具默认为true createSlice接受reducer函数的对象、切片名和初始状态值并自动生成切片reducer并带有相应的actions。 参数描述name用户标记slice的名次initialState初始化值reducersreducer函数对象类型可添加多个createSlice返回值是一个对象包含所有的actions createAsyncThunk接受一个动作类型字符串和一个返回承诺的函数并生成一个pending/fulfilled/rejected基于该承诺分派动作类型的thunk。 二、RTK的简单使用 安装 toolkit 和 react-redux npm install reduxjs/toolkit react-redux利用 createSlice 构建store分片store/features/counter.js import { createSlice } from reduxjs/toolkit;// createSlice(用户标记slice的名称 ) const counterSlice createSlice({name: counter,initialState: {counter: 989,},reducers: {addNumber(state, {payload}) {console.log(add number, payload);state.counter state.counter payload;},subNumber(state, {payload}) {console.log(sub number, payload);state.counter state.counter - payload;},}, });export const { addNumber, subNumber } counterSlice.actions;export default counterSlice.reducer; 利用configureStore 配置storestore/index.js import { configureStore } from reduxjs/toolkit;import counterReducer from ./features/counter;const store configureStore({reducer: {counter: counterReducer,}, });export default store; 利用react-redux依照往常的做法将store注入index.js import React from react; import ReactDOM from react-dom/client; import { Provider } from react-redux; import App from ./App; import store from ./store;const root ReactDOM.createRoot(document.getElementById(root)); root.render(// React.StrictModeProvider store{store}App //Provider// /React.StrictMode ); 利用react-redux依照往常的做法在需要使用store及dispatch操作的页面文件中通过connect进行连接 // Home.jsx import React, { PureComponent } from react; import { connect } from react-redux; import { addNumber } from ../store/features/counter;export class Home extends PureComponent {addNumber(num) {this.props.addNumber(num);}render() {const { counter } this.props;return (divhome:{counter}button onClick{(e) this.addNumber(5)}5/buttonbutton onClick{(e) this.addNumber(8)}8/buttonbutton onClick{(e) this.addNumber(18)}18/button/div);} }const mapStateToProps (state) ({counter: state.counter.counter, });const mapDispatchToProps (dispatch) ({addNumber(num) {dispatch(addNumber(num));}, });export default connect(mapStateToProps, mapDispatchToProps)(Home); // Profile.jsx import React, { PureComponent } from react; import { connect } from react-redux; import { subNumber } from ../store/features/counter;export class Profile extends PureComponent {subNumber(num) {this.props.subNumber(num);}render() {const { counter } this.props;return (divprofile:{counter}button onClick{(e) this.subNumber(5)}-5/buttonbutton onClick{(e) this.subNumber(8)}-8/button/div);} }const mapStateToProps (state) ({counter: state.counter.counter, });const mapDispatchToProps (dispatch) ({subNumber(num) {dispatch(subNumber(num));}, });export default connect(mapStateToProps, mapDispatchToProps)(Profile); 将界面引入App.jsx import React, { PureComponent } from react; import { connect } from react-redux; import Home from ./pages/Home; import Profile from ./pages/Profile; import ./style.css;export class App extends PureComponent {render() {const { counter } this.props;return (divh2App Counter: {counter}/h2div classNamepagesHome /Profile //div/div);} }const mapStateToProps (state) ({counter: state.counter.counter });export default connect(mapStateToProps)(App); 查看运行结果和之前单独使用react-redux的效果一致但在代码层面上化繁为简
http://www.dnsts.com.cn/news/246626.html

相关文章:

  • 加盟网站建设公司网站建设售后支持
  • 做网站业务的 怎么跑客户男女做那个视频网站
  • 旅游网站开发需求告白墙 wordpress
  • 凡科网站源码下载石家庄刚刚发生的事
  • 上海龙雨建设工程有限公司网站用wordpress做的外贸网站
  • 那些网站可以够买域名标书制作教程视频网站
  • 网站建设要准备什么上传网站模板
  • 专门做品牌折扣的网站建设企业网站首页
  • 宜章网站建设郴州网络推广服务
  • 门户网站建站系统企业网站案例展示
  • 做响应式网站代码低价企业网站搭建
  • 建设网站需要什么东西少女映画wordpress
  • 怎么做 代刷网站wordpress 杂志模板
  • 做网站要学哪些程序上海门户网站制作公司
  • 网站备案的接入商一般网站自己可以做播放器吗
  • 诸暨企业网站建设html5网站开发趋势
  • 给别人做网站是外包公司麻将棋牌网站开发
  • wid2008vps创建网站wordpress开启raid
  • phpcms电影网站开发海报在线制作免费网站
  • 高端营销网站建设互联网营销师培训基地
  • 网站开发支持多个币种平面设计入门
  • 网站后台是什么wordpress固定连接nginx
  • 网站设置评价顺德建网站
  • 自己制作一个网站网页视频下载器app免费
  • 正规做网站在线流程图制作
  • 网站连接怎么做云主机如何做网站
  • 做网站总费用如何建设局域网网站
  • 南阳做网站收费汕头高端网站开发
  • 企业网站域名免费的电脑优化软件
  • j2ee 建设简单网站网站开发前端与后端的区别