ich solche Fehler empfangen, wenn ich versuche Router an die Komponente Login passieren:reagieren-Router und Kontexttypen
class Login extends React.Component {
onClick(){
Actions.login(this.context.router);
}
static contextTypes = {
router: React.PropTypes.func.isRequired
}
render(){
return (
<Card style={{
'maxWidth': '800px',
'margin': '30px auto',
'padding': '50px'
}}>
<CardText style={{
'textAlign': 'center'
}}>
To start chatting away, please log in with your Google account.
</CardText>
<RaisedButton style={{
display: 'block',
}} onClick={this.onClick.bind(this)}
label="Log in with Google" primary={true} />
</Card>
);
}
}
export default Login;
Dann versuche ich es auf die Aktion zu übergeben login
zu ermöglichen, auf die andere Route umgeleitet nach dem Loggen. Aktion Anmeldung:
login(router){
return (dispatch) => {
let firebaseRef = new Firebase('https://front-react-stack.firebaseio.com');
firebaseRef.authWithOAuthPopup("google", (error, user) => {
if(error){
return;
}
dispatch(user);
router.push('/chat');
});
}
}
Aber nachdem es in der Konsole Anmeldung ist ein Fehler: „Warnung: Fehler Kontextarten: Unzulässige Kontext router
vom Typ object
zu Login
geliefert, function
erwartet Überprüfen Sie die. Render-Methode von RouterContext
. "
Es scheint mir, dass ich func
passiert habe. kein object
Typ so dass ich von keine Ahnung, wo dieser Fehler kommen haben ...
Hast du console.log versucht, um zu sehen, ob es eine Funktion ist oder nicht? Dies ist möglicherweise nicht das, was Sie denken, dass es in onClick ist – hansn