Ошибка типа: неопределенный не является объектом (оценка ‘_this2.setState’)

#react-native

Вопрос:

Я столкнулся с кодом ошибки во время работы над проектом.

Коды ошибок, с которыми я сталкиваюсь, следующие.

 TypeError: undefined is not an object (evaluating '_this2.setState')
 

И это мой исходный код.

 export default class MainScreen extends Component {
state = {currentSound:''};
  getData() {
    AsyncStorage.getItem('soundState', (err, result) => {
      const soundSt = JSON.parse(result); 
      this.setState({currentSound:soundSt.soundNumber});
    });
  } 
}
 

Как я могу решить эту проблему?

Ответ №1:

Я думаю, это связано с тем, что он getData() не привязан к текущей области действия класса. Исправьте это с помощью функции стрелки:

 export default class MainScreen extends Component {
  state = {currentSound:''};
  getData = () => {
    AsyncStorage.getItem('soundState', (err, result) => {
      const soundSt = JSON.parse(result); 
      this.setState({currentSound:soundSt.soundNumber});
    });
  } 
}
 

Комментарии:

1. Благодаря вам я хорошо решил эту проблему.