Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Component<PropsType, StateType>

自定义组件所需继承类

Type parameters

Hierarchy

Index

Constructors

constructor

  • Parameters

    Returns Component

Properties

Optional _children

_children: IComponentChild[]

react render 16 多node支持

Optional _component

子组件

_dirty

_dirty: boolean

是否加入更新队列

Optional _disable

_disable: undefined | false | true

是否停用

Optional _emitComponent

_emitComponent: Component<any, any>

模拟vue.emit用的上下文保存

Optional _key

_key: undefined | string

当前组件的key用于复用

Optional _nextVDom

_nextVDom: IVDom

被移除时的vdom缓存

Optional _parentComponent

_parentComponent: Component<IBaseProps, IKeyValue>

父组件

Optional _prevContext

_prevContext: IKeyValue

上一次的上下文

Optional _prevProps

_prevProps: PropsType

上一次的属性

Optional _prevState

_prevState: StateType

上一次的状态

Optional _ref

_ref: function | IRefObject

react标准用于设置component实例

Optional _renderCallbacks

_renderCallbacks: Array<function>

render 执行完后的回调队列

Optional _vdom

_vdom: IVDom

组件挂载后的vdom

Optional base

base: Node | Element | Text | null

context

context: IKeyValue

组件上下文,由父组件传递

Optional isFunctionComponent

isFunctionComponent: undefined | false | true

Optional name

name: undefined | string

自定义组件名

props

props: PropsType

由父级组件传递的状态,不可修改

state

state: StateType

当前组件的状态,可以修改

Static Optional defaultProps

defaultProps: IKeyValue

默认props

Methods

Optional componentDidMount

  • componentDidMount(): void
  • 在一个组件被渲染到 DOM 之后

    Returns void

Optional componentDidUpdate

  • componentDidUpdate(previousProps: PropsType, previousState: StateType, snapshot: any, previousContext: IKeyValue): void
  • 在 render() 之后

    Parameters

    • previousProps: PropsType
    • previousState: StateType
    • snapshot: any
    • previousContext: IKeyValue

    Returns void

Optional componentWillMount

  • componentWillMount(): void
  • 在一个组件被渲染到 DOM 之前 在react16.3弃用: https://github.com/reactjs/rfcs/pull/6 原因是因为如果在dom渲染前进行异步的setState可能会造成,第一次的渲染效果不同

    deprecated

    Returns void

Optional componentWillReceiveProps

  • componentWillReceiveProps(nextProps: PropsType, nextContext: IKeyValue): void
  • 在新的 props 被接受之前 Use static getDerivedStateFromProps() instead

    deprecated

    Parameters

    • nextProps: PropsType
    • nextContext: IKeyValue

    Returns void

Optional componentWillUnmount

  • componentWillUnmount(): void
  • 在一个组件在 DOM 中被清除之前

    Returns void

Optional componentWillUpdate

  • componentWillUpdate(nextProps: PropsType, nextState: StateType, nextContext: IKeyValue): void
  • 在 render() 之前,与 shouldComponentUpdate 互斥

    deprecated

    Parameters

    • nextProps: PropsType
    • nextState: StateType
    • nextContext: IKeyValue

    Returns void

forceUpdate

  • forceUpdate(callback?: undefined | function): void
  • 手动的同步更新dom

    Parameters

    • Optional callback: undefined | function

      回调

    Returns void

Optional getChildContext

  • 获取上下文,会被传递到所有的子组件

    Returns IKeyValue

Optional getSnapshotBeforeUpdate

  • getSnapshotBeforeUpdate(previousProps: PropsType, previousState: StateType, previousContext: IKeyValue): any
  • Parameters

    • previousProps: PropsType
    • previousState: StateType
    • previousContext: IKeyValue

    Returns any

render

  • 用来生成VNode的函数,一定要继承后覆盖

    Parameters

    • props: PropsType
    • state: StateType
    • context: IKeyValue

    Returns childType

setState

  • setState(state: function | StateType, callback?: undefined | function): void
  • 设置state并通过enqueueRender异步更新dom

    Parameters

    • state: function | StateType

      对象或方法

    • Optional callback: undefined | function

      render执行完后的回调。

    Returns void

Optional shouldComponentUpdate

  • shouldComponentUpdate(nextProps: PropsType, nextState: StateType, nextContext: IKeyValue): boolean
  • 在 render() 之前. 若返回 false,则跳过 render,与 componentWillUpdate 互斥

    Parameters

    • nextProps: PropsType
    • nextState: StateType
    • nextContext: IKeyValue

    Returns boolean

Static Optional getDerivedStateFromProps

  • componentWillReceiveProps react16.3后的替代品

    Parameters

    Returns IKeyValue | null

    用于更改当前state为空不更改.

Generated using TypeDoc