react-router-dom 无法使用控制台错误
react-router-dom is not working with console error
这是我的参赛文件
index.js
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter, Route } from 'react-router-dom'
class Hello extends React.Component {
render () {
return <div>Hello!</div>
}
}
class Goodbye extends React.Component {
render () {
return <div>Goodbye!</div>
}
}
ReactDOM.render(
<BrowserRouter>
<div>
<Route path="/hello" component={Hello} />
<Route path="/goodbye" component={Goodbye} />
</div>
</BrowserRouter>,
document.getElementById('app')
)
这是我的依赖文件
package.json
{
"name": "React-Router-Redux",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server",
"build": "webpack -p"
},
"keywords": [],
"author": "Manoj Kumar",
"license": "ISC",
"dependencies": {
"prop-types": "^15.5.10",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-router-dom": "^4.1.2"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"webpack": "^3.5.5",
"webpack-dev-server": "^2.7.1"
}
}
当我进入 http://localhost:8081/hello or http://localhost:8081/goodbye 时,它呈现 Cannot GET /hello
或 Cannot GET /goodbye
并出现此控制台错误
GET http://localhost:8081/hello 404 (Not Found)
或
GET http://localhost:8081/hello 404 (Not Found)
我用的是react-router-dom^4.1.2,react^15.6.1。我无法解决这个问题,请帮助我。
谢谢
这看起来像是一个 Webpack 问题。尝试添加行
historyApiFallback: true
到 webpack.config.js
的 devServer
区块。这会将 404 重定向回 /index.html
,它们应该被 index.js
正确路由。
有一个讨论与您的问题类似的话题。
这是我的参赛文件
index.js
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter, Route } from 'react-router-dom'
class Hello extends React.Component {
render () {
return <div>Hello!</div>
}
}
class Goodbye extends React.Component {
render () {
return <div>Goodbye!</div>
}
}
ReactDOM.render(
<BrowserRouter>
<div>
<Route path="/hello" component={Hello} />
<Route path="/goodbye" component={Goodbye} />
</div>
</BrowserRouter>,
document.getElementById('app')
)
这是我的依赖文件
package.json
{
"name": "React-Router-Redux",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server",
"build": "webpack -p"
},
"keywords": [],
"author": "Manoj Kumar",
"license": "ISC",
"dependencies": {
"prop-types": "^15.5.10",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-router-dom": "^4.1.2"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"webpack": "^3.5.5",
"webpack-dev-server": "^2.7.1"
}
}
当我进入 http://localhost:8081/hello or http://localhost:8081/goodbye 时,它呈现 Cannot GET /hello
或 Cannot GET /goodbye
并出现此控制台错误
GET http://localhost:8081/hello 404 (Not Found)
或
GET http://localhost:8081/hello 404 (Not Found)
我用的是react-router-dom^4.1.2,react^15.6.1。我无法解决这个问题,请帮助我。
谢谢
这看起来像是一个 Webpack 问题。尝试添加行
historyApiFallback: true
到 webpack.config.js
的 devServer
区块。这会将 404 重定向回 /index.html
,它们应该被 index.js
正确路由。