redux一些自习时候自己写的的单词
setState:设置状态
render:渲染,挂载
dispatchEvent : 派发事件
dispatch:分发,派遣;库里的一个方法,简而言之相当于一个actions和reducer监听方法更新 state
provider:提供者
combine :合并
reduce : 减少,降低,使处于,把。。。分解
loadable:可加载模块
action:动作,方法,代表用户的操作, 我们在完善action的属性,除了type属性唯一(大写),都可以自定义
reducer:缩减 (我们用来写方法的)因为 action 对象各种各样,每种对应某个 case ,但最后都汇总到 state 对象中,从多到一,这是一个减少( reduce )的过程,所以完成这个过程的函数叫 reducer。reducer一定要保持纯净。只要传入参数相同,返回计算得到的下一个 state 就一定相同。没有特殊情况、没有副作用,没有 API 请求、没有变量修改,单纯执行计算。
return {
...state,
userName: action.payload
}
increment:增加
decrement:缩减
connect:链接,关联
paylod:有效负载
createStore:创建仓库(redux库)
counte:计算
mapStateToProps: 映射分发数据,从Store中读取状态: 容器组件向store声明需要的state的地方,因为我们的store是整个应用只有一份,根据redux的思想通过context可以保证每一个组件都可以从context中获取到store,不需 要一级一级的从顶层传递下来
mapDispatchToProps:映射分发方法:意义类比上面
combineRedusers: 所做的只是生成一个函数,这个函数来调用你的一系列 reducer,每个 reducer 筛选出 state 中的一部分数据并处理,然后这个生成的函数再将所有 reducer 的结果合并成一个大的对象。
1,安装包redux 有时候还需要绑定 react-redux (react绑定库) 和 (redux-devtools) 开发者工具
2, 创建两个文件夹分别创建index,js
(1)actions 和 reducers 一个放方法,一个放数据
(2)将这两个文件关联起来 在app的index.js里,
引入Provider从react-redux里
引入createStore从redux里
从reducers里引入rootReducer
3,创建库store = createStore(rootReducer) 我们用创建库方法来以存放应用中所有的 state
4.我们创建了一个Hello模块来给大家展示redux
创建Hello模块将App标签包裹,但是!!1
我们用Provider组件将return出来的东西包裹,
connect方法生成容器组件以后,需要让容器组件拿到state对象,才能生成 UI 组件的参数。
这样,0App的所有子组件就默认都可以拿到state了。
同时,我们直接渲染到root根节点的App也就改成了Hello
5.reducer的index里,从包里拿到 redux 里的 combineReducer(合并reducer方法)
再将reducer所有文件引入,集体抛出
import {combineReducers} from "redux"
import counter from './counter'
export default combineReducers({
counter,
})
6、在reduers的其他文件里面呢,就是建立我们的数据,然后抛出库以及操作
export default (state = initialState,action) => {
switch (action.type){
case 'INCREMENT':
return {
...state,//拷贝一下,因为不想改变原始数据
num:state.num+1
}
default:
return state
}
}
7,actions里面的 index 添加
import * as counterCreator from './counter'
export {
counterCreator
}
8. actions里面的的counter文件里面写
export function increment(){ //设置一个默认方法叫做增加
return {
type:'INCREMENT' //返回type type大写,与方法名匹配
}
}
9.最后我们主界面的代码
//在对应的包里拿到高阶方法 connet
import { connect } from 'react-redux'
import { counterCreator } from '../actions'
//定义 mapStateToProps 和 mapDispatchToProps两个方法
//返回的数据
const mapStateToProps = (state) => {
return {
$$counter: state.counter.num
}
}
const mapDispatchToProps = (dispatch) => ({
increment: () => dispatch(counterCreator.increment())
})
export default connect(
mapStateToProps ,
mapDispatchoProps
)(主界面的组件名)
redux一些自习时候自己写的的单词的更多相关文章
- 手写 redux 和 react-redux
1.手写 redux redux.js /** * 手写 redux */ export function createStore(reducer) { // 当前状态 let currentStat ...
- 还在纠结 Flux 或 Relay,或许 Redux 更适合你
重磅消息,Redux 1.0 发布,终于可以放心用于生产环境了! 在这个端应用技术膨胀的时代,每天都有一大堆框架冒出,号称解决了 XYZ 等一系列牛 X 的问题,然后过一段时间就不被提起了.但开发的应 ...
- redux源码解析-redux的架构
redux很小的一个框架,是从flux演变过来的,尽管只有775行,但是它的功能很重要.react要应用于生成环境必须要用flux或者redux,redux是flux的进化产物,优于flux. 而且r ...
- redux超易学三篇之二(开始使用react-redux)
其实 redux 真正让人感到混乱的还是在 react-redux 的使用中. 请配合完整代码参考~:完整源代码 也不是说混乱,主要是网上 推崇 最佳实践.学习一个新东西的时候,本来就很陌生,上来就用 ...
- 在react项目中使用redux or mobx?
主要比较参数: 库体积,打包项目体积 开发体验 性能对比 在对比参数前首先分析一下redux和mobx的设计模式,redux和mobx都没有使用传统的mvc/mvvm形式,而且他们使用flux结构也略 ...
- Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!
英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦 ...
- 使用bat(批处理文件类型)两步更改笔记本IP
一.背景 在南农工的第三年里,学校终于给教学区覆盖了无线网NJAUPK,这解决了我在汇贤楼教室上自习没网写web的尴尬处境!经常在9栋和汇贤楼教学区之间来回,遇见了一个大问题:宿舍里无线需要更改IPV ...
- 英语之路 zt
各位为英语而郁闷的兄弟姐妹们: 自从考完GRE和TOEFL以后,心有所感,本想写点心得,但是因为太懒没写成.今日风雨如晦,心中又有所感,于是一舒笔墨,写下我学英语的方法.俺知道有很多兄弟姐妹们和曾经的 ...
- 浅谈SPA
最近一直在学习关于Vue的一些知识,由于遇到了问题,去网上查找资料,收获颇丰,在此分享. 1. 什么是SPA? 单页Web应用(single page web application, SPA),就是 ...
随机推荐
- HTML--表格与表单
一.表格 <table></table>表格 width:宽度.可以用像素或百分比表示. 常用960像素. border:边框,常用值为0. cellpadding:内容跟边框 ...
- Python--day67--include包含其他的url和反向解析URL
1,include包含其他的url: 2,反向解析URL:
- SpringBoot 集成 Activiti 一路踩得坑
由于项目需要,本人开始在项目Spring boot 中集成工作流引擎Activiti.由于第一次集成,一路上步步都是坑,怪我没有先去看官方文档.现将一路上遇到的问题一一记录. 一. 环境配置 1.项目 ...
- Vue之webpack的安装与配置及其简单应用
一.文件结构 二.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 【js】vue 2.5.1 源码学习 (十一) 模板编译compileToFunctions渲染函数
大体思路(九) 本节内容: 1. compileToFunctions定位 1. compileToFunctions定位 ==> createCompiler = createCompiler ...
- 12174 - Shuffle——[滑动窗口]
You are listening to your music collection using the shuffle function to keep the music surprising. ...
- P1083 合并序列
题目描述 有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词. 输入格式 输入文件第一行包含一个正整数N: 接下来N行,每行一个单词,长度不超过100: 最后一行包含字符串T. 已知:1≤N ...
- 2018-8-10-WPF-程序生成类库错误
title author date CreateTime categories WPF 程序生成类库错误 lindexi 2018-08-10 19:16:53 +0800 2018-2-13 17: ...
- 【t081】序列长度
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有一个整数序列,我们不知道她的长度是多少(即序列中整数的个数),但我们知道在某些区间中至少有多少个整数 ...
- es6笔记 day2---解构赋值
解构赋值 这个知识点非常有用,特别是在做数据交互的时候(Ajax).那么它是怎么使用的呢? 它就是这么使用的↓ let [a,b,c] = [12,5,6]; 这就是解构赋值 注意:左右两边,结构格 ...