反应本.参考错误值未定义



我遇到了一个问题,将状态设置为反应。我可以主机console.log正好正确,但是当我调用setState()时,我获得了参考错误" targetsspreadsheet"。

这是以下功能

getCategories = (file) => {
        console.log(this.state.targetSpreadsheet); // works fine
        this.setState({targetSpreadsheet: file});  // targetSpreadsheet is not defined.
}

和一个称其为

的选择器
  <SimplePicker
    ref={'picker2'}
    options={this.state.spreadsheetNames}
    onSubmit={(option) => {
      for(var i = 0; i < this.state.spreadsheets.files.length; i++){
        if(this.state.spreadsheets.files[i].name === option){
          let file = this.state.spreadsheets.files[i];
          this.getCategories(file);
          break;
        }
      }
    }}
  />

编辑

构造函数

  constructor(props){
    super(props);
    this.state = {
      targetSpreadsheet: ''
    }
    this.getCategories = this.getCategories.bind(this);
  }

此节目您要访问电子表格对象 files array array en

this.state.spreadsheets.files[I]

但是在您的构造函数中,您已将targetSpreadsheet AS和字符串对象进行了初始化,因此您会遇到错误。

this.state = {
      targetSpreadsheet: ''
    } 

解决方案:您需要将其作为一个用文件作为空数组的对象。

    this.state = {
              targetSpreadsheet: {
                  files:[]
               }
   }

相关内容

  • 没有找到相关文章

最新更新