Как сохранить текущий tabIndex при переходе между страницами NextJS

#html #reactjs #next.js #tabindex

Вопрос:

Как правильно сохранить текущую вкладку tabIndex при перемещении между страницами?

(В идеях создать функцию, которая сохранит текущий индекс в хранилище сеансов и получит его при подключении страницы)

Пример:

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. если это помогло, можете ли вы, пожалуйста, отметить ответ как правильный ответ ?

Ответ №1:

простое решение, основанное на useRouter крючке:

 import Link from "next/link";
import { useRouter } from "next/router";


export const MyNav = () => {

  const router = useRouter();

  return (
    <ul>
      <li className={router.pathname == "/" ? "active" : ""}>
        <Link href="/">API</Link>
      </li>
      <li className={router.pathname == "/users" ? "active" : ""}>
        <Link href="/users">Users</Link>
      </li>
    </ul>
  );
};
 

Ответ №2:

Вы можете использовать withRouter() библиотеку, чтобы определить текущий URL-адрес и сопоставить его с URL-адресом страницы, а затем добавить другой класс border или background-color различать их


Вы также можете использовать гораздо более простой метод и использовать :active :visited селекторы CSS с nav-item классом или элементом.