Как ориентироваться в реакции при развертывании в подпапке? - PullRequest
0 голосов
/ 05 октября 2019

У меня есть следующий файл rout.js для приложения, которое будет развернуто в подпапке с именем KM в папке портала IIS. Как только я отправляю учетные данные и вход в систему, он переходит по неправильному URL-адресу.

// routes.js
const APP_BASE_URL = '/portal/KM/';

export const APP_URLS = {
  HOME: `${APP_BASE_URL}`,
  LOGIN: `${APP_BASE_URL}login`,
  EXPLORER: `${APP_BASE_URL}explorer`,
};

export default ({ childProps }) =>
  <Switch>
    <AppliedRoute path="/" exact component={Home} props={childProps} />
    <UnauthenticatedRoute path="/login" exact component={Login} props={childProps} />
    <AuthenticatedRoute path="/explorer" exact component={FileExplorer} props={childProps} />
    <AuthenticatedRoute path="/explorer/:id" exact component={FileExplorer} props={childProps} />
    { /* <AuthenticatedRoute path="/notes/new" exact component={NewNote} props={childProps} />
     Finally, catch all unmatched routes */}
    <Route component={NotFound} />
  </Switch>;

И следующий файл login.js:

// login.js
//...
import { APP_URLS } from "../Routes";

//...

//...
const handleSubmit = (event) => {
    event.preventDefault();
    postAuthenticateUser({
        username: username,
        password: password
      })
      .then(res => {
        if (res.status === 200) {
          localStorage.setItem("token", responseToken);
          if (responseToken != null && responseToken !== "") {
            props.setToken(responseToken);
          }
          props.history.push(APP_URLS.EXPLORER);
        }
      })
      .catch(err => {
        setErrorMessage(err.response.data);
      });
  }

Перед входом URL-адрес выглядит так: login page

После входа в систему URL-адрес: Login page post url

Почему браузер переходит на /portal/KM/portal/explorer вместо /portal/KM/explorer?

...