其他API

setState()

改变组件state的惟一方法,这是一个异步方法,也就是在调用的时候不会立即执行。所以该方法是如下定义的:

setState(updater[, callback])

updater参数即是一个对象,也可以是一个函数:

作为对象时:this.setState({state}),常与Object.assgin()配合使用,也可以与ES2018的 ... 表达式一起使用.

作为函数时:(prevState, props) => stateChange,但是必须返回一个Object,例如:

this.setState((prevState, props) => {
    return {counter: prevState.counter + props.step};
});

callback是一个回调函数,当setState方法执行结束后的回调,详细内容在第三章节有说明。

forceUpdate()

component.forceUpdate(callback)

默认情况下,组件的渲然只依赖stateprops,有时候需要依赖其他数据的时候,比如浏览的滚动条的位置数据等时,就可以使用此方法。

执行此方法时,会触发render()方法,但是不会执行shouldComponentUpdate()方法。

执行此方法时,会触发其组件子组件的所有生命周期。

尽量避免使用此方法。

results matching ""

    No results matching ""