react 翻译过来就是响应的意思。定义好数据和视图的关系,通过数据的改变获得一个新的视图,也就是常说的mvvm模式。reactJS框架就是一个mvvm模式的渲染页面的JavaScript框架。
如果想开发一个大型的SAP页面(单页面),第一个要解决的是组件化,如何隔离代码,共享代码。设计一套良好的组件化框架才是关键。而react已经集成了这个功能。如果你用jquery开发,你就要自己设计一个组件框架,其实也简单,设计一个命名系统和唯一id生成器就可以了。当然也可以参考ExtJS的组件设计。
//伪代码
// 禁用dom的id命名
export default function(){
return {
type:'homeListItem',
content:'<div class="inner"></div>',
onRender:function(){
this.find('.inner').on('click',function(){
alert(11)
})
},
onRemove:function(){
}
}
}
第二个问题就是组件的交流问题。react组件内部可以通过共享state来进行组件交流,组件之间呢,则使用redux来进行注册交流。事实上,redux也应当分离,而不是单例模式,每个页面都有一个redux,但是整体的redux应当谨慎使用。而react也提供了一个简单的方法就是“状态提升”。https://zh-hans.reactjs.org/docs/lifting-state-up.html