redux应用加减求和功能怎么实现-亚博电竞手机版

redux应用加减求和功能怎么实现

本篇内容介绍了“redux应用加减求和功能怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.去除count组件自身的状态count组件为我们需要使用的求和组件

2.src下建立redux文件,redux内部创建store以及reducer等等:

-redux:

-store.js

-count_reducer.js

-count_action.js

-constant.js

3.store.js文件中:

1)。引入redux中的createstore函数,创建一个store

2)。createstore调用时要传入一个为其服务的reducer

3)。记得暴露store对象

/*

该文件专门用于暴露一个store对象,整个应用只有一个store对象

*/

//1.引入createstore,专门用于创建redux中最为核心的store对象

import { createstore } from "redux";

//2.引入为count组件服务的reducer

import countreducer from './count_reducer'

export default createstore(countreducer)

4.constant.js 放置容易写错的type值

//约定常量类型

export const increment = 'increment'

export const decrement = 'decrement'

5.count_action.js 专门用于创建action对象

/*

该文件专门为count组件生成action对象

*/

export const cteateincrementacton = data => ({type:'increment',data})

export const cteatedecrementacton = data => ({type:'decrement',data})

6.count_reducer.js文件中:

1)。reducer的本质是一个函数,接收:prestate,action,返回加工后的状态

2)。reducer有两个作用:初始化状态,加工状态

3)。reducer被第一次调用时,是store自动触发的,

传递的prestate是undefined,

传递的action是:{type:’@@redux/init_a.2.b.4}

/*

该文件时用于创建一个为count组件服务的reducer,reducer的本质就是一个函数

reducer函数会接到两个参数,分别为之前的状态(prestate),动作对象(action)

*/

import {increment,decrement} from './constant'

const initstate = 0

export default function countreducer(prestate=initstate,action){

//拿到两个值(要干嘛,数据)

//从action对象中获取:type,data

const {type,data} = action

// if(prestate === undefined) prestate = 0

//根据type决定如何加工数据

switch (type){

case increment: //如果是加

return prestate data

case decrement: //如果是减

return prestate - data

default:

return prestate;

}

}

7.在index.js中监测store中状态的改变,一旦发生改变重新渲染

app

import react from 'react'

import reactdom from 'react-dom'

import app from './app'

import store from './redux/store'

reactdom.render(,document.getelementbyid('root'))

store.subscribe(()=>{

reactdom.render(,document.getelementbyid('root'))

})

“redux应用加减求和功能怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图