App.jsReact-маршрутизатор: компонент обновления маршрута на новом реквизите
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
«ы с ними , а затем перенаправляется на компонент Courses
с использованием this.props.router.push('/courses')
.
Courses
компонент должен принять в обновленных учетных данных (т.е. App
обновленные, состояние) в качестве реквизита, а затем выполнить вызов API для извлечения курсов данного пользователя.
Как я могу обнаружить обновления в состоянии App
внутри компонента Courses
? Я вообще делаю это неправильно?
Это сработало! Спасибо, сэр! –