Селектор подключен к нескольким компонентам, гарантируется ли обновление родительского компонента первым? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть компоненты Parent и Child, как показано ниже:

const Parent = ({ valueFromSelector }) => {
  if (valueFromSelector === undefined) return null;

  return <Child />;
}
const Child = ({ valueFromSelector }) => {
  return <span>`i am unsafely using ${valueFromSelector.property}`</span>
}

Является ли использование valueFromSelector.property небезопасным, или я могу быть уверен, что Child никогда не будет обновлять / отображать, если с valueFromSelector защищен ли в Parent?

По сути, я спрашиваю, гарантированно ли селекторы обновляются в «порядке» от родительских компонентов к дочерним компонентам.

1 Ответ

2 голосов
/ 30 апреля 2020

Краткий ответ, к сожалению, селекторам не гарантируется обновление в «порядке» от родительских компонентов к дочерним компонентам. Проблемы возможны при определенных условиях.

Эта проблема называется zomb ie children, и версия 6, созданная с помощью приставки, была попыткой исправить проблему, но, к сожалению, API Context не смог полностью поддержать прижим с точки зрения представление. Поэтому им пришлось отменить это изменение в версии 7, и не было способа предотвратить проблемы с компонентами функций.

Вот несколько статей, которые более подробно отвечают на ваш вопрос:

https://kaihao.dev/posts/Stale-props-and-zombie-children-in-Redux

https://react-redux.js.org/api/hooks#stale -профи-и-зомб ie -детские

...