Динамические ссылки с кириллицей - правильно? [ReactJS]

Есть интернет-магазин, есть категории "Компьютеры", "Телефоны" и т.д.
Вопрос: правильно ли делать динамический роутинг с кириллицей в ссылке?

Отрывок кода с динамическим роутом:

enum RoutePublicNames {
  CATALOG = "/catalog/:catalogName",
}

const publicRoutes = useRoutes([
    { path: RoutePublicNames.CATALOG, element: <Catalog />}
  ]);

Ссылка, которую я получил в браузере:

http://localhost:3000/catalog/Компьютеры

Ссылка при копировании и вставке(так же рабочая):

http://localhost:3000/catalog/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B

Всё работает исправно, однако в браузере вылезает варнинг:

No routes matched location "/catalog/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B" 

Разумно ли я поступаю?


Ответы (1 шт):

Автор решения: Eugene X

В идеальности конечно избавиться от кириллицы в рутере вовсе.

Например заменить её на /catalog/kompjuteri или алиас /catalog/computers.

Но можно поставить хук на history router.

Вот пример: https://stackoverflow.com/questions/50592020

В функциональном программировании это useLocation

Дальше просто прогоняешь строку через (route) => route.pathname = decodeURI(route.pathname)

→ Ссылка