Я написал приложение погоды, используя API openweathermap (бесплатная учетная запись) в React.Я использовал fetch в componentDidMount следующим образом.
async componentDidMount() { const url1 = "https://api.openweathermap.org/data/2.5/weather?units=metric&q=Hanoi,VN&appid=" + api_key; const today = await GetData(url1); const url2 = "https://api.openweathermap.org/data/2.5/forecast?units=metric&q=Hanoi,VN&appid=" + api_key; const forecast = await GetData(url2); this.setState({ data: today, forecast: forecast });
Учитывая, что мой ключ API был заблокирован один раз из-за его использования более чем на 60 запросах в минуту.Следовательно, у меня есть вопрос, если кто-то спам перезагружается на моей веб-странице,
componentDidMount будет вызываться каждый раз при перезагрузке страницы.
Пожалуйста, прочитайте подробности о методах жизненного цикла компонента в официальных документах https://reactjs.org/docs/react-component.html#the-component-lifecycle. Я не думаю, что вы можете предотвратить вызов компонента componentDidMount при перезагрузке страницы.Потому что это так.
Однако вы можете позвонить openweatherapp со своего сервера и использовать регулирование на основе IP для предотвращения DoS-атаки на ваш сервер.