reactjs - 为什么运行构建后反应路由器不起作用?
问题描述
为什么反应路由器在构建后不起作用?!它在我的本地工作,但上传后不起作用
应用程序.js
import React , {Component} from 'react';
import { createBrowserHistory } from "history";
import { Route, Switch } from "react-router-dom";
const loggerMiddleware = createLogger();
const store = createStore(
rootReducer,
applyMiddleware(thunkMiddleware,loggerMiddleware));
return (
<Provider store={store}>
<Switch>
<Route path="/login" component={Login} key="Login"></Route>
<Route exact path="/" component={Home} key="Home"></Route>
<Route path="/register" component={Register} key="Register"></Route>
<Route path="/dashboard" render={props => <RTLLayout {...props} />}/>
<Route path="/edit" component={Editor} key="Editor"></Route>
</Switch>
</Provider>
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App'
//import * as serviceWorker from './serviceWorker';
import { BrowserRouter } from "react-router-dom";
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode >
,
document.getElementById('root')
);
``````
解决方案
如果它在本地工作,则可能是因为您的托管。例如 Github 页面不支持 react-router,在这种情况下你应该尝试 hash router。请添加完整的 app.js 文件内容,看看是否有错误。
推荐阅读
- google-cloud-bigtable - google cloud BigTable 有数据浏览器吗?
- java - 如何将 JSON 值添加到 Java 中的 ArrayList
- node.js - 使用自制程序更新 nodejs 困境:需要更多权限但 brew 不适用于 sudo?
- javascript - history.push 不会在 React/Typescript 中重新渲染/刷新组件
- javascript - console.log 输出到文档而不是控制台
- java - 测试 RestController 时模拟 liquibase:Spring + JPA + Junit Jupiter + liquibase
- python - 为什么将字符串转换为日期时间熊猫时 to_datetime() 不起作用
- android - Android 如何在没有 Zxing 或第三部分应用程序的情况下扫描二维码
- mfc - Visual Studio 2008 到 2019 升级,兼容性错误
- go - 具有公共构造函数的私有类型的表驱动测试