API-ключ openweathermap в реагировать JS - PullRequest
0 голосов
/ 23 декабря 2018

Я написал приложение погоды, используя 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 запросах в минуту.Следовательно, у меня есть вопрос, если кто-то спам перезагружается на моей веб-странице,

  1. Будет ли он вызывать componentDidMount каждый раз, когда происходит перезагрузка?
  2. Как я могу предотвратить это?

1 Ответ

0 голосов
/ 01 января 2019

componentDidMount будет вызываться каждый раз при перезагрузке страницы.

Пожалуйста, прочитайте подробности о методах жизненного цикла компонента в официальных документах https://reactjs.org/docs/react-component.html#the-component-lifecycle. Я не думаю, что вы можете предотвратить вызов компонента componentDidMount при перезагрузке страницы.Потому что это так.

Однако вы можете позвонить openweatherapp со своего сервера и использовать регулирование на основе IP для предотвращения DoS-атаки на ваш сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...