проблема при передаче параметров в реакции маршрутизации при использовании "?" и положить что-то после этого - PullRequest
0 голосов
/ 20 апреля 2020

я знаю, что вопрос может показаться немного запутанным, поэтому позвольте мне объяснить его, у меня есть страница элемента, которая загружает элементы, основываясь на его ограничении, и дает вам следующую и следующую страницы url, и что url - это что-то вроде это,

url = "https://api.sth.com/v1/all-tours/NY?page=1"

, и мой маршрут к этому компоненту выглядит примерно так

<Route path="/Tours/:Tourtype/:city" component={MainPage}>
</Route>

, и вот ссылка, которую я имею на эту страницу

<Link to={`/Tours/all-tours/${SearchResult.slug}?page=1`}>
</Link>

и вот как я называю API в моем компоненте

axios.post(`http://api.hichhop.com/v1/all-tours/${this.props.match.params.city}`, options)
                .then((response) => {
                    console.log(response)
});

, но проблема, с которой я сталкиваюсь, заключается в том, что в this.props.match.params.city, например, просто так

this.props.match.params.city= "NY"

вместо него быть примерно таким

this.props.match.params.city= "NY?page=1"

1 Ответ

1 голос
/ 20 апреля 2020

Я предполагаю, что вы используете 'react-router-dom'. Поэтому я также предполагаю, что у вас есть доступ к местоположению. Попробуйте следующее: this.props.location.search

Когда вы откроете url = "https://api.sth.com/v1/all-tours/NY?page=1", вы сможете получить следующую строку: "?page=1". Для параметра NY вам нужно будет продолжать использовать this.props.match.params.city

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