写一个react demo的大致步骤:
1.把UI拆分成一个组件的层级 对模型进行拆分,明确你将要构建一个组件,这些组件的层级关系怎样
就像:
-
组件1
-
- 组件2
- 组件3
-
- 组件3.1
- 组件3.2
2.生成一个静态的react页面 对每个组件进行React.createClass({...})构建,实现一个静态的可呈现的页面
组件可以自顶向下或者自底向上构建
这些组件只有render()方法
组件之间通过props传递数据
React的单向数据流(单向绑定)使一切保持了模块化和快速
3.确定最小的state表达集合 进行UI交互就需要state来动态显示,所以需要确定哪些集合需要使用state(比如,文本框、单击按钮之类的)
有三个方法:
- 它是从父级通过props传递过来的么?是的话,就不是state
- 它是随时间变化的么?如果不是的话,那就不是state
- 它是能够通过其他组件里的state或者props计算出来的么?如果是,那就不是state
根据:
- 确定哪些组件需要基于state渲染
- 找到需要state渲染的所有组件所共有的一个组件,一般都是这些组件之上的组件
- 要么是共同拥有,要么就是其他在层级里更高级的组件拥有这个state,反正要满足state表达集合(文本输入框、按钮等)值的改变对整个页面能产生交互
- 如果找不到某个组件可以让state表达集合有意义的拥有state,那就简单的创建一个组件来控制住state,并把创建的这个组件添加到所有共同拥有这个state的组件更高的层级上
由于组件应该只更新自己拥有的state,每当state更新时回调函数就会被调用,然后再回调函数中便会启用setState(),然后应用将会被更新。