方法一:rpn.js:使用rpn.js实现eval函数功能
*** 作链接:网页链接
方法二:
(1)使用Underscore.js: *** 作链接:网页链接
(2)使用Immutable.js: *** 作链接:网页链接
(3)使用UUID、Base64、Chance: *** 作链接:网页链接
扩展微信小程序框架功能(1)——Promise
ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.112200)后, 移除了开发者工具对 ES6 中Promise 特性原生的支持, 需要引入第三方的 Promise 库。
扩展微信小程序框架功能(2)——Generator
Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。
扩展微信小程序框架功能(3)——函数功能增强
Underscore.js 和 Lodash 是最常用的JavaScript库。
扩展微信小程序框架功能(4)——Immutable.js
Immutable.js 是 Facebook 开发的不可变数据集合。Immutable
Data(不可变数据)一旦创建就不能被修改。通过使用Immutable
Data,可以更容易的处理缓存、回退、数据变化检测等问题,应用开发更简单。
扩展微信小程序框架功能(5)——Redux
Redux 是 JavaScript 状态容器,提供可预测化的状态管理。
扩展微信小程序框架功能(6)—日期时间
Moment.js是一个JavaScript的日期、时间处理工具类,其对于JavaScript的日期时间处理功能非常强悍和全面。可以用在浏览器环境中使用,也可以在Node.js中。
扩展微信小程序框架功能(7)——正则表达式
XRegExp 是一个开源的 JavaScript库,提供一个参数化、可扩展的支持各种浏览器的正则表达式的实现库,支持附加语法数纯、标志以及方法。
扩展微信小程序框架功能(8)—此握—Xml处理
x2js是一个 实现 XML 与 JavaScript 对象之间森毕庆相互转换的工具库。
扩展微信小程序框架功能(9)——加解密
node-uuid可以快速地生成符合规范 的 UUID。js-base64可以实现Base64编码和解码。crypto-js可以非常方便地在 JavaScript 进行加解密。
扩展微信小程序框架功能(10)——测试辅助
Chance是一个 JavaScript 随机数生成工具。Mock.js可以生成随机数据,拦截 Ajax 请求。
方法三:moment
*** 作链接:网页链接
什么是 Redux?
Redux 是整个项目的状态管理中心,数据存储仓库,集中式的存储和管理所有的组件的状态,并且可以让组件的状态以一种可预测的方式变化。
什么情况下使用 Redux?
Redux 主要作为一个状态树的存在,主要作用可以用来集中管理共享数据,如果你想取某个数据,你就直接从状态树(store)上拿,你修改数据,其他页面上从状态树上取到的数据也会发生改变(如果你用了 subscribe 监听函数或者使用了 react-redux 类似的库帮你监听,则其他页面取到的数据会自动更新),Redux 不是必须的,它的使用场景是当你觉得项目内的组件通信太过于繁琐的时候使用,比如你有很多页面,很多组件,他们之间的通信很麻烦,或者说有些数据你需要保存起来供所有组件使用,这时候 Redux 的作用就体现出来了。
正如 Redux 的作者所说:
Flux 架构就像眼镜:您自会知道什么时候需要它。
核心概念
action
action 是饥塌一个对象,它包含了引起 store 状态变化的行为,他是将数据运输至 store 里的唯一手段。它通常包含一个 type 属性和一个需要传入 store 的数据,数据类型可以自定义。比如我们在做用户登录的时候经常需要将用户信息保存到 Redux,这时候 action 就可以是:
reducer
action 仅仅申明了我们想要改变 store 以及附带的数据,那么我们到底怎么去改变数据呢,比如说有一天用户的 money 变为2000,那么传入的 action 是:
那么这时候我们要怎么取改变 store 里面的值呢?这时候就要用到 reducer
简单来说,reducer 就是根据传入 actioon 类型描述如何去更改 store 中的状态。
store
单一状态树
action 描述了更改数据行为的发生,reducer 描述了如何去更改数据,那么我们数据还要有一个归宿就是 store,Redux 的核心就是一个 store 对象,它里面包含着我们所储存的所有状态,它类似一个物流中心,我们可以往里面存放数据,也可以从里面取出数据。它提供的方法包括:
1、getState() 获取当前的的 state 状态值
2、dispatch(action) 派发一个 action 行为更新 state
3、subscribe(listener) 注册一个监听器(当 state 跟新完了之后会自动执行)
这样这三个东闭肢派西就串联在一起了。
store.dispatch(action) 用来接收不同的 action,表明要更新 state 的 type 类型以及更新需要的数据,再通过 reducer 函数计算到底怎么去更改 state,加还是减。
说了这么多,我们轿贺最后上个例子吧:
app.js
action.js
reducer.js
store.js
PS:这是最原始的 redux 使用方法,在实际开发中,通常还会结合 create-redux 等插件一起使用。
-END-
在学习React的过程中,学习Redux也是必不可少的,那么什么是redux呢,我是这么理解的
redux 就相当于 vuex ,就是数据状态管理模式,当我们要做的项目中有很多组件需要共享数据时,这时候就可以用 redux 搭建。
搭建Redux,一般要先创建三个文件夹
这里芹盯面用来方法。这个方法用来触发 reducers 里面的处理逻辑。因为方法里面会返回两个字段,一个 type 字段用来表示字符串,另一个 data ,用来调用action 里面的方法时传递过来的参数。
这里面用来定义store里面的数据和处理逻辑。处理逻辑通常使用 switch case 来选择对应的action传递过来的type 类型嫌手和进行处理 。
这里面会导出 reducer 封装好的数据。
在 index.js 里面使用 provider 这个组件,将根组件和我薯悄们引入的store 联系起来。这样根组件中的所有组件都可以使用redux
在具体的某个组件中,引入 connect 方法,该方法用来将 mapStateToProps mapDispatchToProps 和当前组件关联起来
mapStateToProps 用来引入数据(store)
mapDispatchToProps 用来引入 action里面的方法
使用this.props.store的名称 来获取redux里面的数据
使用 this.props.actios的名称 来获取action里面的方法
这样,一个 React 文件就搭建好了,也可以使用了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)