React Router не кодирует амперсанды, а кодирует пробелы в параметрах пути - PullRequest
0 голосов
/ 09 июля 2019

У меня проблема с пробелами кодирования реагирующего маршрутизатора, но не с амперсандами.Так что localhost:8080/you & me кодируется как localhost:8080/you%20&%20me вместо localhost:8080/you%20%26%20me, и я использую хитрый хак для декодирования, а затем перекодирования всего.Мне было интересно, если кто-нибудь может порекомендовать лучшее решение.

1 Ответ

3 голосов
/ 09 июля 2019

Не используйте не алфавитно-цифровые символы в URL. Некоторые символы, такие как &, /, ? и =, имеют специальные значения в URL. Несмотря на то, что react-router не выдает ошибку при создании компонента маршрута с & в URL, как вы заметили, в конечном итоге вы получите странное поведение. Лучше всего избегать странных крайних случаев. Вы можете прочитать больше о разрешенных символах в URL здесь .

В качестве обходного пути вы можете получить почти тот же URL с помощью localhost:8080/you-and-me. Это безопасный URL без пробелов и специальных символов. Он также удобен для чтения человеком, и что-либо с пробелами не может быть легко читаемым, поскольку оно будет закодировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...