Компонент получает данные от своего родителя или напрямую из хранилища Redux - PullRequest
1 голос
/ 18 апреля 2020

У меня есть следующий компонент:

const CompA = () => {
  const user = useSelector(state => state.user);
  // ... the rest

  return (
    <div>
      <CompB />
    </div>
  );
}

Этот компонент использует данные user из Redux хранилища. И у меня также есть компонент CompB, который является дочерним по отношению к компоненту CompA, этот компонент также использует данные user из Redux хранилища. Для CompB есть два способа получить данные:

  • Получает данные от своего родителя через props или context.
  • Получает данные непосредственно из Redux хранить с помощью useSelector hook (как и его родитель).

Я изо всех сил пытаюсь выбрать один из этих подходов. Какой из них лучше и почему? Спасибо.

1 Ответ

1 голос
/ 18 апреля 2020

Если <CompB /> является компонентом дампа, и он не должен ничего знать об окружающей среде и бизнес-логике c, лучшим вариантом будет сделать это с props. В противном случае используйте useSelector в <CompB />.

...