首页 > 解决方案 > 为什么在输入组件中 this.props.value === undefined 时设置状态?

问题描述

刚刚在antd的Input组件中找到了如下代码,不明白为什么if (this.props.value === undefined)要在这里使用。有人可以向我解释它的作用吗?

setValue(value: string, callback?: () => void) {
    if (this.props.value === undefined) {
      this.setState({ value }, callback);
    } else {
      callback?.();
    }
  }

完整代码可在GitHub 上获得。

标签: javascriptreactjsantd

解决方案


this.props.value === undefined用于检查组件是否处于“不受控制”模式,即使用内部状态来保持值。

文档


推荐阅读