React 入门
什么是React?
React 特点
什么是JSX?React 使用 JSX(JavaScript XML) 来替代常规的 JavaScript。JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。我们不需要一定使用 JSX,但它有以下优点:
State(状态)React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染 UI,让用户界面和数据保持一致。 Props(属性)state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。这就是为什么有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。 可以通过 getDefaultProps() 方法为 props 设置默认值。 React组件生命周期实例化 首次实例化
实例化完成后的更新
存在期
销毁&清理期
生命周期共提供了10个不同的API1.getDefaultProps作用于组件类,只调用一次,返回对象用于设置默认的props,对于引用值,会在实例中共享。 2.getInitialState作用于组件的实例,在实例创建时调用一次,用于初始化每个实例的state,此时可以访问this.props。 3.componentWillMount在完成首次渲染之前调用,此时仍可以修改组件的state。 4.render必选的方法,创建虚拟DOM,该方法具有特殊的规则:
5.componentDidMount真实的DOM被渲染出来后调用,在该方法中可通过this.getDOMNode()访问到真实的DOM元素。此时已可以使用其他类库来操作这个DOM。 6.componentWillReceiveProps组件接收到新的props时调用,并将其作为参数nextProps使用,此时可以更改组件props及state。 componentWillReceiveProps: function(nextProps) {
if (nextProps.bool) {
this.setState({
bool: true
});
}
}
7.shouldComponentUpdate组件是否应当渲染新的props或state,返回false表示跳过后续的生命周期方法,通常不需要使用以避免出现bug。在出现应用的瓶颈时,可通过该方法进行适当的优化。 8.componentWillUpdate接收到新的props或者state后,进行渲染之前调用,此时不允许更新props或state。 9.componentDidUpdate完成渲染新的props或者state后调用,此时可以访问到新的DOM元素。 10.componentWillUnmount组件被移除之前被调用,可以用于做一些清理工作,在componentDidMount方法中添加的所有任务都需要在该方法中撤销,比如创建的定时器或添加的事件监听器。 上面就是React入门要掌握的知识点,更多的可以查看下面我附上的学习资料~(^__^) 。 React学习资料:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |