Я использую в своем проекте response-router-dom 4.0.0-beta.6. У меня есть такой код:
<Route exact path="/home" component={HomePage}/>
И я хочу получить параметры запроса в HomePage
компоненте. Я нашел location.search
параметр, который выглядит так:, ?key=value
поэтому он не анализируется.
Как правильно получить параметры запроса с помощью response-router v4?
Данный ответ твердый.
Если вы хотите использовать модуль qs вместо строки запроса (они примерно равны по популярности), вот синтаксис:
Параметр ignoreQueryPrefix позволяет игнорировать начальный вопросительный знак.
источник
Принятый ответ работает хорошо, но если вы не хотите устанавливать дополнительный пакет, вы можете использовать это:
Дано
http://www.google.co.in/?key=value
вернется
value
источник
Другой полезный подход может заключаться в следующем: использовать готовые решения
URLSearchParams
;let { search } = useLocation(); const query = new URLSearchParams(search); const paramField = query.get('field'); const paramValue = query.get('value');
Чистый, читаемый и не требует модуля. Более подробная информация ниже;
источник
Я изучал параметры для реактивного маршрутизатора v4, и они не использовали его для v4, в отличие от реактивного маршрутизатора v2 / 3. Еще одну функцию оставлю - может кому пригодится. Вам нужен только es6 или простой javascript.
Также эту функцию можно улучшить
источник
А?
источник
Я только что сделал это, поэтому не нужно изменять всю структуру кода (где вы используете запрос из хранилища маршрутизаторов redux), если вы обновляете реагирующий маршрутизатор v4 или выше с более низкой версии.
https://github.com/saltas888/react-router-query-middleware
источник
Очень просто
просто используйте крючок
useParams()
Пример:
Маршрутизатор :
В вашем компоненте :
источник
Без необходимости в пакете:
Затем вы можете перейти к соответствующим параметрам с помощью
params.id
источник
this.props.match.params
содержит параметры пути, этот вопрос касается параметров запроса.