Похоже, реагирует на паттерн.
Реакция (представление) должна управляться данными (состояние / реквизиты).В общем, вы не должны ничего «визуализировать» (манипулировать настоящим DOM) в обработчиках событий.Обработчики / замыкания должны приводить к изменению состояния (setState
), заставляя реагировать на повторное отображение компонента.Простейший пример счетчика демонстрирует, что!
var res = await axios(URL);
this.setState({
recipesList: res.data.recipes,
isLoading: true
});
isLoading
должен быть установлен перед вызовом axios - чтобы иметь шанс рендеринга <Loading/>
.
Вы можете просто отобразить загрузку вместо списка, используя троичный оператор:
{ isLoading ?
<Loading />
: <RecipesList recipesList={recipesList} />
}
Читайте целые документы, более полные учебные пособия - не минимально необходимые фрагменты!На самом деле стоит знать, что возможно и как это сделать.