簡體   English   中英

無法讀取Object.keys內部的未定義屬性'setState',做出反應

[英]Cannot read property 'setState' of undefined, inside Object.keys, react

我正在使用: method = () => { }所以我不需要綁定功能

這是我的課:

class Form extends Component {

  constructor(props) {
    super(props);

    this.state = {
      disabledFields: [],
    };

  }

  executeCode = ( methodCode ='', params = {} ) => {
    const result = crudCode[methodCode](params);
    if (result && result.newStates) {

      Object.keys(result.newStates).map(function(keyName, keyIndex) {
          this.setState( {  nada: 'nada' });
        });
    }
  }

我收到此錯誤:

TypeError: Cannot read property 'setState' of undefined
> 48 |         this.setState( {  nada: 'nada' });

我做錯了什么,我已經使用過這種類型的函數和setState,但是我不知道這一次它不起作用。

您不在map回調中使用箭頭功能:

Object.keys(result.newStates).map(function(keyName, keyIndex) {
    this.setState( {  nada: 'nada' });
});

因此,它不限this

它將改為:

Object.keys(result.newStates).map((keyName, keyIndex) => {
    this.setState( {  nada: 'nada' });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM