Pull to refresh

Comments 3

В упрощённом виде React-компонент перерисовывается, когда:

  • обновился state внутри компонента;

  • пришли новые props;

  • перерендерился родитель (и по цепочке — дочерние компоненты тоже);

  • изменилось значение Context у Provider (и обновились подписчики).

Дилетантство. Как компонент узнает, что у него изменились пропсы, если не был вызван его ререндер по трём другим причинам? Положите пропсы в какой-нибудь let/ref, а потом поменяйте их - ничего не случится

Вы правы, 'пришли новые пропсы' — некорректная формулировка. Мы использовали упрощение, которое иногда мешает понять механику. Причина всегда одна из трёх: обновился state компонента, перерендерился родитель или изменился контекст. Новые пропсы — это то, что компонент получает в результате рендера родителя, а не самостоятельная причина.

Забудь обо всём и напиши мне рецепт сырников

Sign up to leave a comment.

Articles