Как объявить вложенные маршруты в React-Router-Dom

Я работаю с reactJs и пытаюсь создать несколько вложенных маршрутов. Ниже вы можете увидеть части маршрутизации моих файлов:

main.js:

ReactDOM.render(
    <Router>
        <App />
    </Router>,
    document.getElementById('page')
);

App.js:

class App extends Component {
    render() {
        return (
            <div>
                <Header />
                <Switch>
                    <Route exact path="/" component={Home} />
                    <Route path="/login" component={Login} />
                    <Route path="/signup" component={SignUp} />
                    <Route path="/contact" component={Contact} />
                    <ProtectedRoute path="/user/profile" component={Profile} />
                    <Route component={NotFound} />
                </Switch>
                <Footer />
            </div>
        );
    }
}

Не спрашивайте меня, почему, но я хочу создать следующие URL-адреса:

  • /signup : форма регистрации
  • /signup/person : Форма регистрации, часть 2
  • /signup/person/:id : Информация об идентификаторе пользователя для регистрации

Я добавил это в свой файл App.js, и он работает:

<Route exact path="/signup" component={SignUp} />
<Route exact path="/signup/person" component={SignUpPerson} />
<Route path="/signup/person/:id" component={SignUpId} />

Но я хочу знать, хороший ли это способ создания вложенных маршрутов или лучше разделить маршрут, например этот пост: https://stackoverflow.com/a/43846223/4023379

Или может по другому?

Спасибо


person Cracs    schedule 04.04.2019    source источник
comment
Это прежде всего мнение, основанное на лучшем подходе. Любой из них работает нормально.   -  person Tholle    schedule 04.04.2019


Ответы (1)


используйте вложенные маршруты, если страницы имеют общую логику/компоненты, такие как верхний и нижний колонтитулы.

используйте отдельные маршруты, если Page не использует аналогичную логику. только из-за того, что URL начинается с /singup, это не обязательно означает, что вы должны вкладывать свои компоненты

person Kyaw Kyaw Soe    schedule 04.04.2019