ReactNative学习十三-Props和State

来源:互联网 发布:淘宝上进货 编辑:程序博客网 时间:2024/06/05 02:26

props

每一个组件都有可变与不可变的属性,props是不可变属性,当props改变时,组件的绘制方法不会被调用。属性多的时候,可以传递一个对象,语法为{...xx},这是es6的新特性。

states

states是组件的可变属性,states的改变会触发组件的render函数,react与其他mvvm框架的最大的不同点就是,react 组件可以想象成一个状态机,状态的改变会重绘UI,然后根据 dom diff 算法来绘制UI,而其他的mvvm框架则是对js对象的dirty check(Angularjs)或者defineProperty时指定的回调函数(Emberjs),因此,状态机制与dom diff的存在声称React更快。

我们在设计React组件时如何灵活的运用props与state是一个非常关键的要点。

refs

refs这个点主要用在上级组件调用下级组件的场景,这个场景非常多见。

componentDidMount

组件UI渲染完毕后调用,常用在这种业务场景:调用ajax获得数据后,渲染UI。

state的改变会触发render

正如上文中所说,React组件是一个一个状态机,state的改变会改变状态,会触发重绘,对于state的设计是对React组件设计的关键。


0 0
原创粉丝点击