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

网站上一页下一页怎么做/百度有什么办法刷排名

网站上一页下一页怎么做,百度有什么办法刷排名,wordpress删除缓存,网站版面的图文是怎么做的redux系列文章目录 第一章 简单学习redux,单个reducer 前言 前面我们学习到的是单reducer的使用;要知道redux是个很强大的状态存储库,可以支持多个reducer的使用。 combineReducers ‌combineReducers‌是Redux中的一个辅助函数,主要用于…

redux系列文章目录

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

前言

前面我们学习到的是单reducer的使用;要知道redux是个很强大的状态存储库,可以支持多个reducer的使用。

combineReducers

‌combineReducers‌是Redux中的一个辅助函数,主要用于将多个子reducer合并成一个根reducer。这个函数接收一个对象,对象的键是子reducer的名称,值是子reducer函数。合并后的reducer可以调用各个子reducer,并将它们的结果合并成一个state对象。

代码

准备工作
基于上一章代码写新reducer,新增src/pages/users/index.js文件;新增src/redux/userReducer.js文件

store.js

import { createStore, combineReducers } from 'redux';
import counterReducer from './counterReducer'
import userReducer from './userReducer';//组合多个reducer,本章核心代码
const rootReducer = combineReducers({countNum: counterReducer,userList: userReducer
})let store = createStore(rootReducer);export default store

userReducer.js


function userReducer(state =[], action) {switch (action.type) {case 'ADDUSER':state.push(action.payload)return state;case 'DECUSER':// state.slice(0, -1)return state.slice(0, -1); ;default:return state;}
}   export default userReducer;

users/index.js

import React, { Fragment, useEffect, useState } from 'react'
import store from '../../redux/store'
export default function Users() {const [currenUsesName, setCurrenUsesName] = useState("")const [users, setUsers] = useState([])store.subscribe(() => {const { userList } = store.getState()setUsers((olduser)=>{return [...userList]})})return (<Fragment><div>输入新用户信息:<br /> 姓名: <input type="text" onChange={(e) => { setCurrenUsesName(e.target.value) }} />&nbsp;<button disabled={String(currenUsesName).trim().length === 0} onClick={() => {store.dispatch({ type: 'ADDUSER', payload: { name: currenUsesName, age: 18 } })}}>新增用户</button>&nbsp;<button disabled={users.length === 0} onClick={() => {store.dispatch({ type: 'DECUSER' })}}>减少用户</button><ul>{users?.map((item, index) => {return <li key={index}>姓名:{item.name} &nbsp; age:{item.age}</li>})}</ul></div></Fragment>)
}

最后,将写好的users/index.js引入couter组件中一起展示。可以得到下图效果

效果

多个reducer的效果

总结

上一章中,是单个reducer,这时候监听的store.getState(),是直接的state值。
本章中,是多个reducer,这时候监听的store.getState(),是object对象。

counterReducer

counterReducer(state = 0, action),counterReducer是第一个参数,是默认值;state可以是any类型,action是接收对象,默认接收是两个值{type:“”,payload};
payload可以传可不传

store.dispatch

dispatch()其也是接收对象,其对象也是{type:“”,payload};payload可以传可不传

http://www.whsansanxincailiao.cn/news/31975986.html

相关文章:

  • 二级域名著名网站/汽车营销活动策划方案
  • 网站建设实训分析总结/网络媒体有哪些
  • 哪个网站旅游攻略做的最好/百度seo是什么
  • 江西中恒建设集团网站/网页设计实训报告
  • 会计上网站建设做什么费用/app推广项目从哪接一手
  • 网站运营优化建议/黑锋网seo
  • 赣州人才网招聘信息/网站怎样优化文章关键词
  • 互联网行业新闻的靠谱网站/seo sem论坛
  • 陕西建设人才网站/广州seo运营
  • 网站建设与规划方案书/谷歌广告
  • 网站建设氺首选金手指12/朋友圈营销
  • 北京网站建设公司空间续费北京/sem竞价开户
  • 建筑案例分析网站/网站设计论文
  • wordpress 页面 html/北京seo产品
  • 做小程序好还是做微网站好/谷歌seo网站建设
  • 税务门户网站建设成果/万网建站
  • 深圳罗湖企业网站/搜索引擎优化原理
  • 深圳做企业网站的公司/百度网址大全网站大全
  • 蓝色机械企业网站模板/免费的拓客平台有哪些
  • pc网站 手机网站 微信公众平台/系统优化软件推荐
  • 手机模板网站开发/杭州制作公司网站
  • 如何开设网站/广州短视频代运营
  • 自己做一网站/关键词优化软件哪家好
  • 小说网站做编辑/宁波seo外包引流推广
  • 如何给网站做app/seo搜索引擎优化求职简历
  • 商业网站模板下载/宁波品牌网站推广优化
  • 登录网站模板/山西网络营销seo
  • 科技网站哪个好/快速提升排名seo
  • 西宁网站推广/站长工具在线查询
  • 专门做衣服特卖的网站有哪些/搭建一个app平台要多少钱