Почему анти-шаблон позволяет компоненту реагировать редактировать свои реквизиты?

Я искал ответ на другую проблему, и я нашел этот ответ ( ссылка). Мне просто любопытно, почему модификация его собственных реквизитов является анти-паттерном, и почему это не то, что изменение его собственного состояния не является и анти-модель?

1 ответ

Решение

В реагировании реквизит - это объект данных, который вряд ли изменится в жизненном цикле компонента, а состояние - это данные, которые могут измениться в жизненном цикле компонента.

Это помогает создать явные правила, в которых разработчики должны размещать вещи, которые делают / не изменяют.

Реагируйте на страницы обновления очень быстро, точно зная, что изменения данных будут происходить строго от родителя (как реквизит) или изнутри как состояние.

точная функция свободно проверяет, совпадают ли состояния / реквизиты, а затем https://github.com/facebook/react/blob/master/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js#L881-L883

Я бы порекомендовал прочитать о том, как реагирует "сверяет" данные на изменения и вносит изменения в домен. https://facebook.github.io/react/docs/reconciliation.html

Другие вопросы по тегам