Почему response-router не выбирает маршрут, который не соответствует точно, когда «точный» не включен? - PullRequest
0 голосов
/ 08 марта 2019

У меня следующая ситуация:

render() {
    let redirectRoute = window["reactRoute"];

    if (redirectRoute !== undefined) {
        window["reactRoute"] = undefined;
        return <Redirect to={redirectRoute} push={true} />;
    }

    return (
        <div className="otherContentContainer">
            <Route path="/validation" render={() => <p>TestRender</p>} />
        </div>
    );
}

Приведенный выше фрагмент кода является упрощенной версией уязвимого render() в моем случае.

Что происходит здесь,следующее: Мой серверный сервер ASP.NET возвращает представление, которое содержит подчиненный маршрут в window["reactRoute"] (это то, что я придумал, чтобы обойти проблему маршрутизации клиент-сервер с ASP.NET и маршрутизацией React).

Затем он правильно перенаправляет на следующий URL:

/Logon/validation/success

После успешного перенаправления часть перенаправления больше не актуальна, и я пытаюсь отобразить определенные компоненты, в данном случае простой <p> дляцели тестирования, основанные на этом маршруте.

Однако <Route path="/validation" render={() => <p>TestRender</p>} /> не срабатывает вообще, и я не понимаю, почему.

Вот что я взял из документации по маршрутизатору React:

enter image description here

Учитывая, что я не настроил свой <Route> на exact, я не совсем понимаю, чем я отличаюсь отпример.

Можете ли вы указать мне, где яне так?

1 Ответ

1 голос
/ 08 марта 2019

Похоже, проблема с /Logon/. Вместо этого попробуйте следующее:

<Route path="/Logon/validation" render={() => <p>TestRender</p>} />

В качестве альтернативы вы можете установить свойство basename в вызове компонента *Router (как упоминалось здесь ).

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