微信小程序Redux绑定实例详解


Posted in Javascript onJune 07, 2017

微信小程序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对象上。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Hutia 的 JS 代码集
Oct 24 Javascript
javascript Demo模态窗口
Dec 06 Javascript
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
Oct 20 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
基于jquery实现简单的分页控件
Mar 17 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
vue 文件目录结构详解
Nov 24 Javascript
layDate插件设置开始和结束时间
Nov 15 Javascript
微信小程序实现锚点功能
Nov 20 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
Ajax异步刷新功能及简单案例
Nov 20 Javascript
Ionic3 UI组件之Gallery Modal详解
Jun 07 #Javascript
vue2.0 中#$emit,$on的使用详解
Jun 07 #Javascript
vue2.0 自定义日期时间过滤器
Jun 07 #Javascript
详解Node.js 命令行程序开发教程
Jun 07 #Javascript
详解vee-validate的使用个人小结
Jun 07 #Javascript
微信小程序多张图片上传功能
Jun 07 #Javascript
Vue.js对象转换实例
Jun 07 #Javascript
You might like
如何隐藏你的.php文件
2007/01/04 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php实现分页显示
2015/11/03 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
详解JS面向对象编程
2016/01/24 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
小程序实现密码输入框
2020/11/16 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
Python变量和数据类型详解
2017/02/15 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python如何查看微信消息撤回
2018/11/27 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
如何利用python生成MD5并去重
2020/12/07 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
python中os.remove()用法及注意事项
2021/01/31 Python
查询优化的一般准则有哪些
2015/03/08 面试题
城市规划毕业生求职信
2013/10/10 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
公司经理任命书
2014/06/05 职场文书
化工工艺设计求职信
2014/06/25 职场文书
母亲节主题班会
2015/08/14 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
Python代码实现双链表
2022/05/25 Python
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server