reactjs之redux深度理解
2016-08-09 17:40
513 查看
reactjs之redux深度理解
本来是一名iOS开发者 ,喜欢钻研技术,最近因为女朋友也在学习前段开发的缘故,自己也看了点 javascript ,当下reactjs如此之火,reactnative 也可开发iOS或者安卓应用。就学习了一下。记录下笔记。reactjs之createStore + applyMiddleWare 基本实现原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> const counter = (state = 0, action)=> { switch (action.type) { case "INCREASE": return ++state; break; case "DECREASE": return --state; break; default: return state; } } var loggerWrapper = (next)=>(action)=>{ console.log("before logger") next(action) console.log("after logger") } var xxxWarpper = (next)=>(action)=>{ console.log("xxxx logger") next(action) console.log("xxxx logger") } var applyMiddleWare = (middlewares)=>(next)=>{ middlewares.forEach((middleware)=>{ next = middleware(next) }) return next; } var enhance = applyMiddleWare([loggerWrapper, xxxWarpper]) var createStore = (enhance,reducer)=>{ let state; let listeners = []; const getState = ()=>{ return state ; } const subscribe = (lisener)=>{ listeners.push(lisener); return ()=>{ listeners =listeners.filter(l=>l!==lisener) } } var dispatch = (action)=>{ state = reducer(state,action); listeners.forEach(listener=>listener()); } dispatch = enhance(dispatch); return {getState,subscribe,dispatch}; } var store = createStore(enhance, counter); store.subscribe(()=>{ console.log("i am lisenning"); }) document.addEventListener("click",()=>{ store.dispatch({type:"INCREASE"}); }) </script> </body> </html>
相关文章推荐
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- ReactJS学习笔记(一)-深入理解ReactJS的面向组件即对象
- react-redux的理解
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- React+Redux 打造 “NEWS EARLY” 单页应用 一个项目理解最前沿技术栈真谛
- React - redux, jsx中写js示例
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- 新手关于 export default connect react-redux 的理解
- 使用Typescript编写Redux+Reactjs应用程序
- 深入理解React-Redux
- 深入理解React、Redux
- Vue.js vs React vs Angular 深度对比
- JS深度克隆的理解
- node.js学习之react,redux,react-redux
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- 深入理解React、Redux
- 一名iOSer对react-redux的理解
- 如何用React+Redux+ImmutableJS进行SPA开发