@Swaerok

Не запускается проект из-за / в конце адресной строки, почему?

Делаю проект по видео, я настроил сам webpack, на видео проект через create react app, суть проблемы, на видео localhost3001, я на 8080. Когда на видео добавляют /123412421 в адресную строку, то файл остается таким же, в BrowserRouter>Route прописан path='/', у меня всё так же, но при добавлении в мою строку чего либо, сразу пишется cannot get /5, какова причина этого?
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Route } from 'react-router-dom';
import './scss/app.scss';
import App from './app.js';

ReactDOM.render(
  <BrowserRouter>
    <Route path="/" component={App} />
  </BrowserRouter>,

  document.getElementById('root'),
);


C localhost разобрался добавив в вебпак
devServer: {
    historyApiFallback: true,
  }


Но если запустить продакшен, и запустить index.html то ничего не получается если сделать exact path, он не грузит компонент, в чем причина этого?
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Swaerok Автор вопроса
Короче, решил проблему, вдруг кому надо. BrowserRouter удалил, поставил Router, добавил туда history
import { createHashHistory } from 'history'

export default createHashHistory()
Ответ написан
pumbasl
@pumbasl
Вот пример использования ид фильма в адрес строке.
То-есть вы указываете двоеточие и ид переменной в которую занесется Ваш ид, а после в использованном Вами компоненте достаете этот ид через props.match.params.idfilm
<Router>
        <Suspense fallback={<div>Загрузка...</div>}>
          <Switch>
            <Route exact path='/film/:idfilm' component={Film}/>
          </Switch>
        </Suspense>
</Router>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы