2016-12-29 8 views
0

Я создаю одно приложение, использующее responseJS. Я определяю маршрутизацию с помощью реактивного маршрутизатора.Поместить запрос строки между ними в React-router

пример кода ниже:

<Router history={browserHistory()}> 
    <Route path="/" component={App}> 
     <Route path="taco/:name" component={Taco} /> 
    </Route> 
</Router> 

, но я хочу использовать что-то вроде этого:

<Route path="taco?yourchoice/:name" component={Taco} /> 

, но я не в состоянии сделать это.

Любая помощь будет оценена по достоинству.

Благодаря

+0

Я не думаю, что вам нужно указать параметры запроса. React-router вводит свойство «location» в корневой компонент – Kinnza

+0

Итак, вы хотите «taco? Yourchoice = value» правильно? –

ответ

0

path="taco?yourchoice/:name не правильный путь. Поскольку вы включаете косую черту между yourchoice и :name, я не уверен, если вы пытаетесь поместить сегмент пути после запроса или захватить значение параметра запроса .

В случае первых вы не можете поместить сегмент пути после сегмента поиска URL-адреса, и вам нужно будет изменить порядок пути. Для последнего, React Router не учитывает строку поиска, когда она сопоставляет текущее местоположение маршрутам маршрута. Однако расположение будет проанализирован и параметры запроса будут доступны на location объекта (который вводится в качестве опоры в <Route> «ы component

Таким образом, с учетом маршрута:.

<Route path="taco" component={Taco} /> 

При пользователь переходит к URL-адрес:.

example.com/taco?yourchoice=fish 

Taco компонент будет оказан и один из его реквизита будет location

class Taco extends React.Component { 
    render() { 
    const { query } = this.props.location 

    return <div>A {query.yourchoice} taco</div> 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^