【发布时间】:2018-11-11 13:13:55
【问题描述】:
我需要启动一个 react 应用程序,我需要预渲染和路由,所以我安装了 react-snap 和 react-router。 (很明显,react-router 用于路由和 react-snap 进行预渲染)。
使用“npm start”在本地看起来一切都很好,但是当我进行生产构建并提供服务时,路由链接会使页面重定向到新的 url,所以我看到的总是主页。
我的渲染看起来像这样:
render() {
return (
<Router>
<React.Fragment>
<MainNav/>
<Route exact path="/" component={Home}/>
<Route path="/greeting/:name/:surname" render={(props) => <Greetings text="Hello, " {...props} />} />
<Route path="/About" component={About}/>
</React.Fragment>
</Router>
);
}
这是 react-snap 建议的我的 index.js
import React from 'react';
import { hydrate, render } from "react-dom";
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
const rootElement = document.getElementById("root");
if (rootElement.hasChildNodes()) {
hydrate(<App />, rootElement);
} else {
render(<App />, rootElement);
}
serviceWorker.unregister();
有什么想法吗?
【问题讨论】:
-
您找到解决方案了吗?
标签: react-router create-react-app react-snap