Im正在努力與反應路由器,因爲它返回「browserHistory是未定義」,當我試圖推動它。這裏是我的路線:browserHistory undefined(react router v3)
import React, { Component } from 'react';
import './App.css';
import UI from './UI.jsx';
import Home from './Home';
import Login from './Login';
import { browserHistory} from 'react-router';
import { BrowserRouter as Router, Route, Link} from 'react-router-dom';
class App extends Component {
render() {
return (
<div>
<Router history={browserHistory}>
<div>
<Route exact path="/" component={Home}/>
<Route path="/UI" component={UI}/>
</div>
</Router>
</div>
);
}
}
export default App;
這裏是我使用browserHistory.push()的文件;功能:
login(e) {
console.log(this.props.browserHistory);
e.preventDefault();
var username = this.inputName.value;
var password = this.inputPassword.value;
axios.post(
'https://jsonplaceholder.typicode.com/posts',
{
user_name: username,
user_password: password
}
).then((response) => {
console.log(response.data);
console.log(response.data.user_name);
const username = response.data.user_name;
session = "&token=" + response.data.session;
if (username === null) {
this.setState({ loginFail: 'Användarnamnet eller lösenordet är fel' });
return;
} else {
browserHistory.push('/UI'); //The UI is the component, here i'm getting "cannot read property push of undefined".
this.setState({
showUser: `Hej ${response.data.user_name}`,
showLogin: !this.state.showLogin,
loggedIn: !this.state.loggedIn
});
}
});
}
任何想法?
我猜你得到的是錯誤becouse你沒有登錄組件作爲'' –
這樣的路線? https://puu.sh/w7AHk/093809060d.png 仍然收到相同的錯誤:'( – smuckert