标签:design tor res state 组件 移动营销 管理中心 嵌套 web
将UI分成不同的组件,每个组件都独立封装
下面这些都没有:
单单reactjs的代码压缩后也需要147k以上
reactjs代码量最多,因为它既要管理UI逻辑,又要操心dom的渲染
不兼容IE8
问题1 轻量级组件在渲染简单静态页面时很好用, 但是如果页面有交互,就必须在组件间传递回调函数来处理事件。 尤其是复杂的网页结构,往往需要多个组件层层嵌套,导致回调函数也必须在父子组件间层层传递, 代码变成一团乱麻,维护就很难了。
问题2 父层组件的状态很容易传给下层组件,反过来就费事了。
问题3 一开始写代码时就很容易再加一个状态,不知不觉就不受你控制了。
reactjs本身的数据和视图的管理
state => component => onChange => setState => state
这种方式针对单个组件好用,但是一旦涉及到组件间数据传输,就变得臃肿
redux 数据管理:
store => state => Component => onChange => dispatch(action) => reducers => store
特点:数据管理中心,无视reactjs组件结构和组件关系,只要下发action都能进行状态改变,从而改变视图
缺点:涉及到数据也就涉及到业务逻辑,不利于组件化时的解耦,所以再写单个复用的组件的时候,避免引入redux
解决React components 到URl之间的同步映射关系
移动营销平台时的视图机制: http://gitlab.shinemo.com/Ub-Web/f2emobile/blob/develop/src/components/Home/SmVirtualView.jsx
缺点:页面跳转时都要触发父组件的view状态,十分不方便。
开发者平台的路由机制 http://gitlab.shinemo.com/Ub-Web/f2e-developer/blob/develop/src/route/index.js
使用router管理页面就比较清晰方便了。
标签:design tor res state 组件 移动营销 管理中心 嵌套 web
原文地址:http://www.cnblogs.com/yuenan/p/6063938.html