При создании моего проекта для производства с реагированием, реагирования-маршрутизатора V4 и webpack, "коммутатор" не создает никаких соответствующих маршрутов. Но он работает в среде разработки.
Я использовал шаблон здесь: https://github.com/KleoPetroff/react-webpack-boilerplate
Мой Router.js просто:
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import App from '../components/App';
import About from '../components/About';
const Root = () => {
return (
<Router>
<Switch>
<Route path="/about" component={About} />
<Route exact path="/" component={App} />
</Switch>
</Router>
);
};
export default Root;
А компоненты App.js и About.js просто:
App.jsimport React from 'react';
import { Link } from 'react-router-dom';
const App = () => {
return (
<h2 id="heading">
Hello ReactJS
<Link to="/about">here</Link>
</h2>
);
};
export default App;
About.js import React from 'react';
const About = () => {
return (
<h2 id="heading">
About ReactJS
</h2>
);
};
export default About;
Я столкнулся с большим количеством вопросов, связанных с stackoverflow (более связанных с реакцией-маршрутизатором-редукцией), но на данный момент у меня нет рабочих ответов.
Я попытался реализовать приложение, используя разные конфигурации webpack, например, с репо rep-create-create-app.
Я не уверен, связано ли это с последней версией реактивного маршрутизатора или с моей конфигурацией webpack.
Это звучит как глупая и легкая проблема, но я не могу найти ответы нигде в Интернете.
Итак, мой вопрос: как сделать компонент переключателя правильным?
Недавно я столкнулся с подобной проблемой и разрешил ее, разрешив все запросы обратно к моему index.html в моем файле.htaccess.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>