微信小程序Redux绑定实例详解
安装
clone或者下载代码库到本地:
git clone https://github.com/charleyw/wechat-weapp-redux
将dist/wechat-weapp-redux.js(或者拷贝minify的也可以)文件直接拷贝到小程序的工程中,例如(下面假设我们把第三方包都安装在libs目录下):
cd wechat-weapp-redux cp -r dist/wechat-weapp-redux.js <小程序根目录>/libs
上面的命令将包拷贝到小程序的libs目录下
使用
1.将Redux Store绑定到App上。
const store = createStore(reducer) // redux store const WeAppRedux = require('./libs/wechat-weapp-redux/index.js'); const {Provider} = WeAppRedux;
Provider是用来把Redux的store绑定到App上。
App(Provider(store)({ onLaunch: function () { console.log("onLaunch") } }))
provider的实现只是简单的将store加到App这个global对象上,方便在页面中用getApp取出来
上面这段代码等同于:
App({ onLaunch: function() { console.log( "onLaunch" ) }, store: store })
2.在页面的定义上使用connect,绑定redux store到页面上。
const pageConfig = { data: { }, ... }
页面的定义
const mapStateToData = state => ({ todos: state.todos, visibilityFilter: state.visibilityFilter })
定义要映射哪些state到页面
const mapDispatchToPage = dispatch => ({ setVisibilityFilter: filter => dispatch(setVisibilityFilter(filter)), toggleTodo: id => dispatch(toggleTodo(id)), addTodo: text => dispatch(addTodo(text)), })
定义要映射哪些方法到页面
const nextPageConfig = connect(mapStateToData, mapDispatchToPage)(pageConfig)
使用connect将上述定义添加到pageConfig中。
Page(nextPageConfig);
注册小程序的页面
3.说明
完成上述两步之后,你就可以在this.data中访问你在mapStateToData定义的数据了。
mapDispatchToPage定义的action会被映射到this对象上。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“微信小程序Redux绑定实例详解”评论...
更新动态
2024年11月13日
2024年11月13日
- 群星《电台情歌-凌晨时分》2CD[低速原抓WAV]
- 许巍《试音天碟》人声测试天碟[WAV分轨][1G]
- 蔡琴《你不要那样看着我的眼睛》SACD版[低速原抓WAV+CUE][1G]
- 费玉清《一剪梅》24K金碟德国版[低速原抓WAV+CUE][1G]
- 宝可梦大集结国服什么时候上线 大集结国服上线时间一览
- 宝可梦大集结国服官网地址是什么 大集结官方网址一览
- 宝可梦大集结开服5选1礼包怎么选 新手5选1宝可梦推荐
- 劳斯莱斯女车主丈夫坦言拒赔原因:确实有流量因素
- 《心灵杀手2》PS5 Pro实机演示:质量模式4K 30帧
- 玩家分享买二手盘暖心经历:盘上还有小贴纸表达感谢
- 殷秀梅.2014-沁园春·雪【太平洋影音】【WAV+CUE】
- 范玮琪.2003-真善美【福茂】【WAV+CUE】
- 陈雷.1995-烧翻卖【金圆唱片】【WAV+CUE】
- 乱石堆中一粒砂金——《使命召唤21》评测
- 【果娘聊天室】双11即将结束,各位今年买了啥?