react 的组件之间的通信问题 (相当于vue中vuex)

index,js中

  1. 下载 yarn add react-redux 和redux
引入 import { **createStore**} from 'redux'
	引入import { **Provider** } from 'react-redux'
  1.  const *initState* = {
     		a:1,
     		b:2
     	 }
    
  2.  const *reducer* =(state,action)=>{
     		let { 传递的参数对象} =action
     		let newstate={...state}    //建议解构出来用新的
     		newstate.a=传递的参数
     		return  newstate
     	}
    
const store = createStore(reducer,initState)
  1. <Provider store={store}> <App> Provider>

在任意的组件中使用或者修改全局数据。。
1.import {**connect**} from 'react-redux'
2.

const *mapStateToProps* =(state,ownProps)=>{
	return {
		**a:state.a,**
		b:state.b
	}

}
3.

const   *mapDispatchToProps*   = (dispatch.ownProps) => {
	// 想当于传实参参数
	**let ownaction = {              
		type:"del",
		id:2,
	}**
	return {
		**fn(){
				dispatch(ownaction)
			}**
	}
}

4.导出

export default  **connect** (*mapStateToProps*,  *mapDispatchToProps*)(组件名)

组件中使用数据: this.props.a
在组件中修改数据: this.props.fn()

你可能感兴趣的:(react 的组件之间的通信问题 (相当于vue中vuex))