Задать вопрос
@Rapen

Как вызываются свои методы в компонентах React?

Имеется следующий код, есть компонент, в котором два метода componentDidMount, componentWillUnmount, один циклично обновляет состояние, другой перестает обновлять, как они срабатывают, если явно не вызываются. Код - создает время, и постоянно обновляет состояние времени.
class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = {date: new Date()};
  }

  componentDidMount() {
    this.timerID = setInterval(
      () => this.tick(),
      1000
    );
  }

  componentWillUnmount() {
    clearInterval(this.timerID);
  }

  tick() {
    this.setState({
      date: new Date()
    });
  }

  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
        <h2>It is {this.state.date.toLocaleTimeString()}.</h2>
      </div>
    );
  }
}

ReactDOM.render(
  <Clock />,
  document.getElementById('root')
);
  • Вопрос задан
  • 176 просмотров
Подписаться 2 Оценить 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
fnnzzz
@fnnzzz
front-end dev
tick вызывается каждую секунду, а в его теле есть setState, который после того как отработает, автоматически вызывает метод render(). Поэтому каждую секунду происходит ререндер вашего компонента
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы