Я пытаюсь настроить привязку навигации в одном из моих компонентов страницы внутри моего приложения реагирования.
Я пытаюсь имитировать ту же функциональность, что и здесь, в draft.js где он использует подзаголовки в качестве якорей (со значком ссылки рядом с ним), что также отражается в URL.
В качестве ссылки я смотрю на http://www.tagindex.net/html/link/a_name.html
ТакЯ пошел дальше и попытался реализовать, используя атрибут name
<List.Item>
<a href="#createqueryschema">Create Query Schema</a>
</List.Item>
Тогда подзаголовок должен перейти к
<Header>
<a name="createqueryschema">Create Query Schema</a>
<Header.Subheader style={{ marginTop: "20px", fontSize: "1rem" }}>
BLAH BLAH BLAH BLAH BLAH BLAH
</Header.Subheader>
</Header>
Я рендерил этот список и подзаголовок на странице с именем /overview
, поэтому в теории, когда я нажимаю на элемент в списке, он должен перейти к подзаголовку Create Query Schema
И отразить /overview#createqueryschema
в URL.
Однако он пытается перейти на страницу /createqueryschema
.Я не уверен, почему / как он пытается перейти на новую страницу, когда нужно просто добавить # и атрибут name
.
РЕДАКТИРОВАТЬ: он также не переходит на нужный элемент
У меня есть настройки codesandbox для дальнейшего объяснения.Нажмите на документы в верхней части строки меню, и вы попадете на страницу с навигационной навигацией.Если щелкнуть любой из двух якорей в разделе Overview
, соответствующий <Header>
не будет прокручен до.
РЕДАКТИРОВАТЬ: ОБНОВЛЕНО для лучшего объяснения проблемы маршрутизации
У меня все еще есть проблемы с настройкой якорного элемента для навигации по той же странице.Мое приложение уже использует хэш-маршрутизатор по другой причине, поэтому моя базовая страница /home/#/
Каждая другая страница будет выглядеть следующим образом /home/#/page1
/home/#/page2
Например, я использую навигацию привязки на странице вpage2
Я создаю ссылку на именованную привязку ниже
<List.Item>
<a href="#some-random-header">Random Header</a>
</List.Item>
Затем создайте именованную привязку, используя атрибут id
<Header id="some-random-header">Random Header Section</Header>
Когда я нажимаю на ссылку, онапытается перейти на новую страницу с помощью URL /home/#/some-random-header
INSTEAD из /home/#/page2#some-random-header