没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论






















用用react-redux实现实现react组件之间数据共享的方法组件之间数据共享的方法
主要介绍了用react-redux实现react组件之间数据共享的方法,小编觉得挺不错的,现在分享给大家,也给大家
做个参考。一起跟随小编过来看看吧
上篇文章写到了redux实现组件数据共享的方法,但是在react中,redux作者提供了一个更优雅简便的模块实现react组件之间
数据共享。那就是利用react-redux
利用利用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(
<Provider store={store}>
<Wrap/>
</Provider>,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.在根组件引用子组件的位置用 <Show name={this.props.name} pass={this.props.pass}></Show>将store数据传入子组件.
5.在子组件中调用actions中的方法来更新store中的数据
<Input actions={this.props.actions} ></Input>
先将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 (
<div>
姓名:<input ref="name" type="text"/>
密码:<input ref="pass" type="text"/>
<button onClick={this.sure.bind(this)}>登录</button>
</div>
)
}
资源评论


weixin_38592134
- 粉丝: 4
- 资源: 887
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
