react-redux如何实现react组件之间数据共享

这篇文章主要讲解了“react-redux如何实现react组件之间数据共享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react-redux如何实现react组件之间数据共享”吧!

创新互联是一家专业提供承德企业网站建设,专注与成都网站设计、网站制作、H5技术、小程序制作等业务。10年已为承德众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

利用react-redux实现react组件数据之间数据共享

1.安装react-redux

$ npm i --save react-redux

2.从react-redux导入Prodiver组件将store赋予Provider的store属性,

将根组件用Provider包裹起来。

import {Provider,connect} from 'react-redux'
ReactDOM.render(

 
,document.getElementById('example'))

这样根组件中所有的子组件都可以获得store中的值

3.connect二次封装根组件

export default connect(mapStateToProps,mapDispatchToProps)(Wrap)

connect接收两个函数作为参数,一个mapStateToProps定义哪些store属性会被映射到根组件上的属性(把store传入react组件),一个mapDispatchToProps定义哪些行为action可以作为根组件属性(把数据从react组件传入store)

3.定义这两个映射函数

function mapStateToProps(state){
 return {
  name:state.name,
  pass:state.pass
 }
}
function mapDispatchToProps(dispatch){
 
 return {actions:bindActionCreators(actions,dispatch)
 }
}

把store中的name,pass映射到根组件的name,pass属性。

actions是一个包含了action构建函数的对象,用bindActionCreators把对象actions绑定到根组件actions属性上。

4.在根组件引用子组件的位置用 将store数据传入子组件.

5.在子组件中调用actions中的方法来更新store中的数据

先将actions作为属性传入子组件

子组件调用actions中的方法创建action

//Input组件
export default class Input extends React.Component{
sure(){
this.props.actions.add({name:this.refs.name.value,pass:this.refs.pass.value})
}
 render(){ 
  return (
    
    姓名:   密码:   登录  
  )  } }

因为我们采用了bindActionCreators函数,创建action后会立即自动调用store.dispatch(action)将数据更新到store.

感谢各位的阅读,以上就是“react-redux如何实现react组件之间数据共享”的内容了,经过本文的学习后,相信大家对react-redux如何实现react组件之间数据共享这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:react-redux如何实现react组件之间数据共享
网站路径:http://pwwzsj.com/article/jigdse.html