如何记录“setState”函数

时间:2017-12-08 21:55:50

标签: javascript reactjs events jsdoc

问题

我正在尝试使用JSdoc记录事件。这是我跟随的example

/**
 * Throw a snowball.
 *
 * @fires Hurl#snowball
 */
Hurl.prototype.snowball = function() {
    /**
     * Snowball event.
     *
     * @event Hurl#snowball
     * @type {object}
     * @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
     */
    this.emit('snowball', {
        isPacked: this._snowball.isPacked
    });
};    

按照这个例子,我将事件记录如下。

Inside a class named "Something"
/**
   Update state to include entered Thing Name
   @fires Something#handleThingChange
*/
  handleThingChange = (evt) => {
    /**
      handleThingChange event.

      @event Something#handleThingChange
      @type {updater}
      @property {string} state.thing
    */
    this.setState({ thing: evt.target.value });
  }

问题

我不确定如何记录setState函数。它是updater类型吗?或者它是否保证@callback标签?

1 个答案:

答案 0 :(得分:1)

根据您的代码,我会说它的类型为updater

<强>解释

ReactComponent.setState&#34;更新&#34;当前组件状态因此将其记录为有意义。是的,该方法有一个可选的callback参数,但我不会考虑到这一点,因为您不会使用它。