Плюсом к комментариям выше:
1) Постарайтесь для хранения данных использовать redux/mobx/... . Мне кажется, для тестового задания это огромный плюс + правильный подход
2) В lifecycle methods всё таки общепринято просто вызывать вызывать методы. Т.е. вынести весь в метод
getData
, например, и писать
componentDidMount() {
this.getData();
}
Выглядит чище, особенно если надо будет что-то ещё в DidMount вызывать