核心概念
组件(Components)
可以复用的UI元素,相当于在iOS里自己写了一个UI控件
属性(Props)
Props 就是组件的属性,相当于iOS里的Property
状态(State)
组件内部维持的状态数据称为 state ,它是组件的当前状态。可以把组件简单看成一个”状态机”,根据 state 呈现不同的 UI 展示。一旦 state 被更改,组件就会自动调用自身的 render 函数重新渲染 UI,这个更改 state 的动作会通过 this.setState方法来触发
事件(Events)
使用驼峰式命名指定要绑定的事件属性为组件定义的一个方法
|
|
JSX
JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。 它只是一种语法糖。Rax 的 DSL 语法是基于 React JSX 语法而创造。
Flexbox 布局
使用flexbox 规则来描述组件
样式
使用对象的方式来描述 CSS 中的样式,并传递给组件的 style
组件的生命周期
渲染阶段
getDefaultPops
用于返回组件实例的默认props值。对于组件类来说,这个方法只会被调用一次.
getInitialState
用来初始化每个实例的state。对于每个组件实例来讲,这个方法只会调用一次
componentWillMount
该方法在首次渲染之前调用
render
该方法会创建一个虚拟 DOM,用来表示组件的输出。
componentDidMount
该方法被调用时,页面中已经渲染出真实的节点。
存在阶段
componentWillReceiveProps
父组件可以在外部更改子组件的props,更改后会调用此方法
销毁阶段
componentWillUnmount
在 componentDidMount 中添加的任务都需要再该方法中撤销,如创建的定时器或事件监听器
Flexbox 和样式
style属性用来定义组件的样式,并支持一个数组.
|
|
设置单位时,推荐使用不加单位的写法
|
|
JSX语法
Rax中使用CSS书写样式
详细文档:Rax-CSS
事件处理
简单的点击事件、Appear事件、滚动事件、用户输入事件、复杂手势事件
详细文档:Rax事件处理
网络请求
Rax 实现了 Fetch API,并推荐使用 fetch 来发起异步网络请求
详细文档:Fetch
调试工具
使用 weex-toolkit。
详细文档:weex-toolkit
|
|