App.js陣營-路由器:更新路由的組件上新道具
import React, { Component } from 'react';
import { Router, Route, browserHistory } from 'react-router';
import Login from './Login';
import Courses from './Courses';
class App extends Component {
constructor() {
super();
this.state = {
username: '',
password: ''
};
}
setCredentials = ({ username, password }) => {
this.setState({
username,
password
});
}
render() {
return (
<Router history={browserHistory}>
<Route
path='/'
component={Login}
setCredentials={this.setCredentials}
/>
<Route
path='/courses'
component={Courses}
credentials={this.state}
/>
</Router>
);
}
}
的Login
組件需要憑證從用戶,通過API調用對其進行驗證,更新App
的他們狀態,然後使用this.props.router.push('/courses')
重定向到Courses
組件。
的Courses
組件應該採取在更新憑證(即App
的更新的狀態)的道具,事後進行的API調用來獲取該用戶的課程。
如何在Courses
組件中檢測App
的狀態更新?我做錯了嗎?
它的工作!謝謝你,先生! –