React项目便捷使用Redux管理状态

本文探讨了在React项目中何时需要使用Redux,包括需要共享状态、全局状态修改等场景。介绍了如何引入Redux,创建store目录,组织reducer,以及在组件中获取和订阅store数据。建议深入学习Redux官方文档和相关教程以掌握高级用法。
摘要由CSDN通过智能技术生成

最近公司里碰到需要使用redux解决公共状态的问题,查看了一下资料,来分享一下:

什么时候需要Redux?

当你遇到以下场景时,就可以引入redux了:

  1. 某个组件的状态,需要共享
  2. 某个状态需要在任何地方都可以拿到
  3. 一个组件需要改变全局状态
  4. 一个组件需要改变另一个组件的状态

如何引入Redux?

npm install redux --save

简易使用Redux

  1. 在项目文件下src中创建store文件夹,并在其中新建index.js文件
import { createStore } from 'redux'
import reducer from './reducer';
const store = createStore(reducer);

export default store;
  1. 在store文件夹下再新建reducer.js文件
const defaultState = {
  visible: false,
  List: []
}
export default (state = defaultState, action) => {
  if (action.type === 'open_it') {
	  const newState = JSON.parse(JSON.stringify(state));
	  newState.visible = action.value;
	  return newState
  }
  return state;
}
  1. 在需要引入store中的数据或者改变store中数据的地方引入
import store from './../store'

获取store中的state,并订阅store中的数据变化

constructor (props) {
    super(props)
    this.state = store.getState();
    this.handleStoreChange = this.handleStoreChange.bind(this);
    store.subscribe(this.handleStoreChange)
  }
  handleStoreChange(){
    this.setState(store.getState());
  }

dispatch执行action

store.dispatch({
   type: 'open_it',
   value: true
 });

Redux具体是什么,有什么高级使用?

这一块还是推荐大家看Redux官方文档以及阮一峰的redux相关博客

如果简单使用上面的例子就足够了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值