Я новичок в React JS, и мне трудно полностью понять, где уместно получать данные из разных мест. Во всей найденной мной документации указано, что метод componentDidMount() наиболее подходит для получения данных, хотя, как я вижу, он может обрабатывать только начальную синхронизацию. В моем приложении мне нужен более динамичный способ получения данных. бывший. Нажимается кнопка, данные выбираются, и дом меняется. Помещение моих запросов в метод рендеринга работает, но все статьи, которые я читал, осуждают практику загрузки данных туда.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете создать функцию специально для выборки данных и вызвать ее внутри componentDidMount() для первоначального монтажа компонента, а затем прикрепить функцию как обработчик событий для onClick к кнопке. Сохраните данные ответа из выборки внутри состояния компонента. Когда кто-то нажимает кнопку, данные будут извлечены повторно, запустив обновление состояния, а затем повторную визуализацию.
Вы можете посмотреть раздел ловушек жизненного цикла. Есть намного больше, чем просто эти двое.
https://reactjs.org/docs/react-component.html
Имейте в виду, что некоторые методы, такие как componentWillMount, устарели. Я бы держался от них подальше.
Просто вызовите функцию нажатием кнопки и вызовите api и в ответе на успех api setState () компонента
handleOnClick=()=>{
//fetchData and here
this.setState({data})
}
Неважно, только что понял, что могу использовать метод componentDidUpdate ()! Теперь я чувствую себя такой глупой. Ваше здоровье.