redux学习1

import {createStore} from 'redux';
import reducer from './reducer'

const store=createStore(reducer);


export default store;

const defaultState = {
  inputValue: '',
};
export default (state = defaultState, action) => {// NOSONAR
  try {
    if (action.type === 'change_input_value') {
      const newState = JSON.parse(JSON.stringify(state));
      if (action.inputValue) {
        newState.inputValue = action.inputValue;
      } else {
        newState.inputValue.nowMenuCode = '1';
      }
      // console.log('获取newValue111=== action', action);
      return newState;
    }
    if (action.type === 'update_select_menu') {// 更新被选中的内容
      const newState = JSON.parse(JSON.stringify(state));// state:获取现有的redux中的内容
      // newState.inputValue.nowMenu = action.value;// 将传入的参数更新到nowMenu标签中
      // console.log('获取newValue222=== action', action);
      newState.inputValue.nowMenuCode = action.value;// 将传入的参数更新到nowMenu标签中
      return newState;
    }
  } catch (e) {
    console.log('e', e);
  }
  return state;
}
store.getState() 获取状态

store.dispatch({type:'', data: ''}) 修改状态

// store进行订阅,当store进行变化时执行subscribe中的方法,状态变化时自动调回调函数
store.subscribe(() => {
    //可以把store.subscribe放到useEffect中
    ReactDOM.render(<APP/>, document.getElementById('root'))
})

容器组件connect()() 左边连接redux-store(store={store},需要通过上层的props传递,参数1为状态,参数2为操作状态的方法),右边连接UI组件

provider,给所有子组件传递store

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值