Я новичок в reactjs
, и у меня есть небольшой проект в reactjs
, чтобы играть и изучать его. Мне нужно иметь тип заголовков, которые будут показаны на основе URL-адресов. Итак, это мой index.js, который обрабатывает маршрутизацию:
const history = useRouterHistory(createHistory)({
basename: '/test'
})
class Tj extends React.Component {
render() {
return (
<Router history={history}>
<Route path={"/"} component={Bridge} >
<IndexRoute component={Home} />
<Route path={"user"} component={T} />
<Route path={"home"} component={Home} />
</Route>
<Route path={"/t/"} component={Bridge2} >
<IndexRoute component={T} />
<Route path={"contact"} component={Home} />
</Route>
</Router>
);
}
}
render(
<Provider store={store}>
<Tj/>
</Provider>,
window.document.getElementById('mainContainer'));
Как вы можете видеть, я использую test в качестве корневого каталога и на основе ввода пользователем для url. Я решаю, какой заголовок использовать. Также здесь Bridge2.js:
export class Bridge2 extends React.Component {
render() {
return (
<div>
<div className="row">
<Header2/>
</div>
<div className="row">
{this.props.children}
</div>
</div>
);
}
}
и Bridge.js:
export class Bridge extends React.Component {
render() {
// alert(this.props.children.type);
var Content;
if(this.props.children.type){
Content=<div>
<div className="row">
<Header/>
</div>
<div className="row">
{this.props.children}
</div>
</div>;
}
else{
Content=<div>
<div className="row">
<Header/>
</div>
<div className="row">
{this.props.children}
</div>
</div>;
}
return (
Content
);
}
}
Когда я запускаю это в сервере webpack dev, все прекрасно работает. Например, когда я использую http://localhost:3003/test/
, загружается файл bridge.js, и если я запускаю http://localhost:3003/test/t/
, то загружается файл bridge2.js, который ожидается.
Однако, поскольку сервер веб-пакетов dev не является производственным сервером, я использую tomcat, и на данный момент я использую проект веб-приложения eclipse, и я скопировал файл bundle.js и index.html там. Теперь проблема в том, что когда я запускаю сервер tomcat, он способен распознать и показать этот путь:
http://localhost:8080/test/
, но когда для http://localhost:8080/test/t/
получаем:
Состояние HTTP 404 -/test/t/
который в основном говорит, что файл ресурсов недоступен. Насколько я понимаю, это не проблема в кодировании, поскольку маршрутизация отлично работает в сервере веб-пакетов dev, но когда дело доходит до tomcat, кажется, что реакция маршрутизации не в состоянии справиться с этим. Что-то не так с тем, что я делаю? Выполняется таким образом вообще? Может ли кто-нибудь помочь?