react之redux

3 篇文章 0 订阅

1.安装npm install --save redux react-redux

  function counter(state, action) {
        if (typeof state === 'undefined') {
          return 0
        }
        switch (action.type) {
          case 'ADD'://根据动作更改state
            return state + action.payload
          case 'MNIUS':
            return state - 1
          default:
            return state
        }
      }
      var store = Redux.createStore(counter)
      store.dispatch({type:'ADD'})//触发一个动作

	//一步操作不要放在store中,放在外面的函数
      store.dispatch({type:'ADD',payload:45})
	if(store.getState()%2==0){
      setTimeout(()=>{
        store.dispatch({type:'ADD',payload:45})
      },2000)
      
    }

在这里插入图片描述
1.创建一个store,store接受一个函数,函数两个参数。agr1:先前的状态,arg2:触发状态变化的动作;return 返回新的状态
维持应用的 state;
提供 getState() 方法获取 state;//前一个state
提供 dispatch(action) 方法更新 state;
通过 subscribe(listener) 注册监听器;
通过 subscribe(listener) 返回的函数注销监听器。

react-readux readux插件随时随地可以访问到store不必在一层层的传store
npm install --save react-redux
doc:https://react-redux.js.org/
在这里插入图片描述

index.jsx

ReactDOM.render(
    <Provider store={store}>//provider内的组件都可以接受到store
      <App />
    </Provider>
  , document.getElementById('root'));

app.js

function mapStateToProps(state){
  return {
    n:state.n
  }
}
const mapDispatchToProps={
  add1(){
    console.log('add1')
    return {type:'ADD',payload:56}
  },

}


export default connect(getPartialStore,actionCreator)(App);

代码:https://github.com/wangliuyong/react-redux-demo/tree/master/src

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值