У меня есть навигация слева, которая показывает ссылку на настройки.
<Link to="/settings">
Settings
</Link>
При переходе к компоненту настроек впоследствии отображается компонент подменю справа на панели содержимого. Компонент параметров управляет коллекцией маршрутов для этого подменю.
routes.push({
exact: true,
path: getPath("users"),
resourceKey: "Users"
}, {...
Первый элемент в этом массиве устанавливается в качестве выбора по умолчанию в подменю и отображается справа. Он также отображается как активный в подменю. Я также использую это значение по умолчанию для управления URL-адресом браузера, чтобы пользователь никогда не видел "/settings"
как таковой.
Поэтому ".../settings"
становится ".../settings/users"
if (subMenuRoutes.length > 0) {
if (getURLPath(window.location.href, 5) === "") {
history.push(subMenuRoutes[0].path as string);
}
}
На данный момент "/settings"
последнее местоположение, а "/settings/users"
текущее. Когда вы нажимаете кнопку «Назад», он пытается вернуться к "/settings"
, но неизбежно добавляет "/users "
снова в соответствии с кодом. Можно ли избежать добавления настроек в историю маршрутизации или удалить их после добавления? Или есть другой, более подходящий подход, который я могу использовать, не затрагивая историю?