Reach Router: обеспечение доступности маршрутов во всем приложении - PullRequest
0 голосов
/ 01 апреля 2020

В настоящее время я пытаюсь настроить свои маршруты в реактивном проекте, чтобы я мог получить к ним доступ из любого компонента, но я пытаюсь понять, как это сделать. Мои текущие логи c объявляют их в компоненте приложения. js, так как это всегда должно отображаться. Вот моя попытка: Приложение js

const routes =()=>(
    <Router>
        <TournamentCreator path ="create"/>
    </Router>
);

function App() {
  return (
      <UserProvider>
          <Application />
      </UserProvider>

  );
}

export default App;

Приложение. js

function Application() {
    const user = useContext(UserContext);
    return (
        user ?
            <div>
                <LandingScreen/>
            </div>
            :
            <Router>
                <SignUp path="signUp" />
                <SignIn path="/" />
            </Router>

    );
}
export default Application;

Экран приземления. js

<Link to= "create" style={{color:"black"}}>Join Tournament</Link>

В Приложение проверяет, вошел ли пользователь в данный момент, а затем либо отображает Landing Screen, либо Sign In. Из SignIn я могу переключиться в SignUp на другом маршруте, но поскольку LandingScreen не находится на этом маршруте, ничего не отображается, если я войду через компонент SingnUp, пока я go не достигну базового пути. С экрана приземления я хочу иметь возможность перемещаться к нескольким различным компонентам на разных маршрутах, и все они должны вернуться к экрану посадки.

...