У меня проблема с маршрутизатором React V6. Я не добавил BrowserRouter в main.tsx.
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<App />
</React.StrictMode>,
Мне нужно отображать заголовок только в определенных местах. Я читал, что могу сделать это, упомянув несколько элементов внутри элементов маршрута. Поэтому я добавил:
<Route path = "invoices-list" element = {<InvoicesListPage />} />
<Route path = "invoice-details" element = {(
<>
<Header />
<InvoiceDetails />
</>
)} />
Итак, в приведенном выше коде мне нужно отобразить компонент заголовка только на маршруте invoice-details
.
/profile
и хочу перейти к invoice-details
,
URL-путь преобразуется в /profile/invoice-details
...Итак, если я настроил заголовок со ссылками, пути объединяются
<Link to = {'signup'}>Inregistreaza-te</Link>
<Link to = {'login'}>Login</Link>
Поэтому, если вы используете to = {'signup'}
или to = {'login'}
, маршрутизатор React предположит, что вы хотите перейти по пути относительно текущего URL-адреса, поэтому, когда вы находитесь в /profile
, щелчок invoice-details
приведет вас к /profile/invoice-details
.
Решение состоит в том, чтобы просто добавить /
, чтобы сделать путь абсолютным, например <Link to = "/login">Signup</Link>
. Надеюсь, это полезно!