react相关知识

1.组件
无状态组件,也叫展示组件,UI组件,主要用来定义模板,接收来自父组件props传递过来的数据,使用{props.xxx}的表达式把props塞到模板里面(rfc)
class组件,也叫有状态组件,容器组件,主要用来定义交互逻辑和业务数据,使用{this.state.xxx}的表达式把业务数据挂载到容器组件的实例上,然后传递props到展示组件,展示组件接收到props,把props塞到模板里面。(rcc)
2.redux
三个原则:
1)单一数据源
整个应用状态,都应该被储存在单一的store的中。
2)只读状态
唯一可以修改状态的方法,就是发送(dispatch)一个动作(action)
3)使用纯函数去修改状态:
(纯函数:就是输入跟输出的值是唯一的)

3.redux的关键的基础使用
store
store是redux库中的createStore方法生成的一个对象,这个对象中存储我们的共有数据。

import {createStore} from 'redux';
import reducer from './reducer'
var store =createStore(reducer);
export default store;

state
要获取store中的所存储的数据,需要调用方法:store、getState(),state就是storegetState()获取的数据。将n的值赋值给list:

 list: store.getState().n
 

action
action用来描述的是用户行为,它是一个对象,redux通过dispatch这个action来更改state。

incAction(index) {
	return {
  	type: INCREMENT,
  	index:index
 	}
}

store.dispatch()
在redux中,触发用户行为的方式只有一个store.dispatch(),这也是唯一一种更改数据的方式。

store.dispatch(actionCreator.incAction(1))

reducer
reducer就是一个纯函数。当用户进行dispatch了,数据要进行变化,reducer就是用来对数据进行处理。

var initState = {// 状态的初始值
  n: 5
}
var reducer = (state = initState, action) => { //state 数据 action 动作
  console.log("run reducer")
  return state
}
export default reducer

store.subscribe()
subscribe函数,是用来注册一个监听函数的,每当state发生改变的时候,subscribe注册的函数就会被触发。调用change方法

store.subscribe(this.change)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值