Как предоставить контекстные данные для определенных маршрутов

Я использую хуки реагирования с контекстным API для обмена данными между несколькими компонентами и использую маршрутизатор для маршрутизации. Мой код выглядит примерно так:

function App() {
 return (
  <div className="App">
   <ContextProvider>
    <Router>
      <Comp1 path='/comp1' >
        <Comp2 path="/"/>
      </Comp1>
      <Comp3 path="/comp3" />
    </Router>
   </ContextProvider>
 </div>
);
}

В этом примере любые данные, предоставляемые ContextProvider, будут доступны для всех компонентов. Мой вопрос: как я могу открыть контекст только для Comp3, но не для Comp1 и Comp2?

Примечание. Я использую маршрутизатор с досягаемостью.


person Abhishek    schedule 29.07.2019    source источник


Ответы (1)


@Tien Duong, у нас была та же мысль, что и у вас. Но оказывается, что маршрутизатор Reach внутренне работает, сопоставляя компонент с местоположением, настроенным для их рендеринга, он даже не использует div.

Забавно, как маршрутизация на стороне клиента обретает форму, также они говорят, что будут передавать некоторые реквизиты маршрута компоненту, сопоставленному с местоположением.

Это как открыть свой дом для любого, кто может войти. Где изоляция в этом случае.

person Santhosh Nagaraj    schedule 29.07.2019