美文网首页
React——(二)

React——(二)

作者: haha_writing | 来源:发表于2020-07-24 11:02 被阅读0次

    React事件

    React有自己的事件系统,

    React中的事件是SyntheticEvent。这是一个基于浏览器本机事件的跨浏览器的封装。它与浏览器的本身事件具有相同的接口,包括stopPropagation()和preventDefault(),但事件在所有浏览器中的工作方式相同。如果你需要了解底层的事件,可以使用它的nativeEvent属性。

    SyntheticEvent有以下属性:

    boolean bubbles

    boolean cancelable

    DOMEventTarget currentTarget

    boolean defaultPrevented

    number eventPhase

    boolean isTrusted

    DOMEvent nativeEvent

    void preventDefault()

    boolean isDefaultPrevented()

    void stopPropagation()

    boolean isPropagationStopped()

    void persist()

    DOMEventTarget target

    number timeStamp

    string type

    React为什么不采用原来的事件处理方式:

    1、浏览器的兼容性:React对事件进行了规范化处理,使得可以跨越多个浏览器,保持一致的属性。

    2、性能问题

    SyntheticEvent是基于池的。这意味着在调用事件回调之后,将重用SyntheticEvent对象,并且所有属性都将为null。这是出于性能原因。因此,您不能以异步方式访问事件。或者使用event.persist()。

    React 组件生命周期

    组件创建步骤:

    1、获取Default props,constructor()。

    2、获取Default state。getDerivedStateFromProps()。

    3、ComponentWillMount

    4、render()

    5、ComponentDidMount

    State发生更新:

    1、shouldComponentUpdate

    2、componentWillUpdate

    3、render

    4、componentDidUpdate

    Prop发生更新:

    1、componentWillReceiveProps

    2、shouldComponentUpdate

    3、componentWillUpdate

    4、render

    5、componentDidUpdate

    组件销毁阶段:

    1、componentWillUnmount

    相关文章

      网友评论

          本文标题:React——(二)

          本文链接:https://www.haomeiwen.com/subject/yswdlktx.html