【发布时间】:2019-01-20 10:08:30
【问题描述】:
webpack.config.js
module.exports = {
entry: {
app: __dirname + '/src/index.js'
},
output: {
path: __dirname + '/public',
filename: 'bundle.js'
},
mode: 'development',
devServer: {
inline: true,
port: 9999
},
module : {
rules : [
{
test : /\.jsx?/,
loader : 'babel-loader',
query: {
presets: ['es2015', 'react']
}
}
]
}
};
src/index.js -- 试试 1
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Router, Route } from 'react-router-dom'
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
class Car extends Component {
constructor(props){
super(props);
console.log('Inside Car Constructor');
};
redner(){
return(<h1>Cars</h1>);
}
}
class Home extends Component {
constructor(props){
super(props);
console.log('Inside Constructor');
};
render(){
return (
<div>
<h1>Hi</h1>
<Router history={history}>
<div>
<Route exact path="/" Component={Home} />
<Route path="/car" Component={Car} />
</div>
</Router>
</div>
);
}
}
render(
<Home/>,
document.getElementById('container')
);
index.js -- 尝试 2
class Home extends Component {
constructor(props){
super(props);
console.log('Inside Constructor');
};
render(){
return (<h1>Hi</h1>);
}
}
render(
<Router history={history}>
<Switch>
<Route exact path="/" Component={Home} />
<Route path="/car" Component={Car} />
</Switch>
</Router>,
document.getElementById('container')
);
index.js -- 尝试 3
render(
<Router history={history}>
<Route exact path="/" Component={Home} />
<Route path="/car" Component={Car} />
</Router>,
document.getElementById('container')
);
index.js -- 尝试 4
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Router, Route, Switch } from 'react-router-dom'
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
class Car extends Component {
constructor(props){
super(props);
console.log("Inside Car constructor");
};
render(){
return (<h1>Carrssss</h1>);
}
}
class Home extends Component {
constructor(props){
super(props);
console.log("Inside home constructor");
};
render(){
return (<h1>Hi</h1>);
}
}
render(
<Router history={history}>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/car" component={Car} />
</Switch>
</Router>,
document.getElementById('container')
);
我已经尝试了上述所有方法,但路径似乎不起作用。 在第一次尝试中,/ 似乎有效,但 /car 无效。 在第二次和第三次尝试中,甚至 / 都不适合我。 我该如何解决这个错误?为什么会这样?
我尝试过使用 react-router 和 react-router-dom 包。 尝试使用 BrowserRouter 代替 Router,仍然无法计算出我们的任何东西。
【问题讨论】:
-
“似乎不起作用”是什么意思? javascript 控制台中是否有错误?
-
@AndyRay 不,控制台中没有错误。它只是不渲染组件。我得到一个空白页 / route 和 404 其他人
-
没有 React Router,你能渲染你的应用吗?
-
是的,我也可以只渲染
组件。没有路由器什么的。渲染( ,document.getElementById('container'));工作正常。 -
我已经更新了我的答案。你那里有一个错字。它对我来说非常好。
标签: reactjs npm react-router react-router-dom