react学习笔记:redux的极简理解

最近在学习react。

react本身的写法挺简单的,挺块就学会了。

react-router之前学习过,当时学得有点迷糊,觉得学得差不多了。现在再看文档,发现文档非常好懂,上一次看其实没看懂。

接着我就开始看redux了。

看的是redux的中文文档

通篇看下来,有几个理解:

1、action,实际上是描述  操作的类型和传入参数。 最简单的方式 是对象,例如:

{
    type:'ADD',
    index:1
}

type: 指明操作的类型,index,是操作的参数

更好的写法,应该用函数来返回action具体内容

function act(type, payload){
    return {
        type,
        payload
    }
}

这个函数接收参数,返回action

2、reducer,实际时是按照action的类型名,执行相关的操作,

const initialState={}
function todoApp(state, action) {
  if (typeof state === 'undefined') {
    return initialState
  }

   switch (action.type) {
    case 'ADD':
      return Object.assign({},state,{payload:action.payload})
    default:
      return state
  }
}

3、store及state

import {combineReducers, createStore} from 'redux'
import {AddSub, UserInfo} from './reducers'

const Reducers = combineReducers({
  AddSub,
  UserInfo
})

const store = createStore(Reducers)
export default store

// 获取state
import store from './store/index.js'
console.log(store.getState())

// 输出的state值
// {"AddSub":{"number":0},"UserInfo":{"name":"userName"}}

4、绑定到组件

这里要用到react-redux

...
import {connect} from 'react-redux' 
import {act} from './action.js' // 这里导入action  这里是用函数的action
...

class comp extends React.Component {
    // comp code
}

const mapStateToProps = (state, ownProps) => {
  return {
    UserInfo: state.UserInfo
  }
}

const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    changeName: name => {
      dispatch(act())
    }
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(comp)

这样写,就能把redux中的方法与内容 绑定到state里了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值