Iコンポーネントは、ログインにルータを通過しようとすると、このようなエラーを受信した:反応ルータおよびコンテキストタイプ
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;
は、それから他の経路にリダイレクトすることが可能にするために作用login
にそれを通過しようとしますロギング後に アクションログイン:
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');
});
}
}
しかし、エラーがあるコンソールにログインした後: 「警告:失敗したコンテキストタイプ:Login
に供給されるタイプobject
の無効なコンテキストrouter
は、function
を期待確認してください。レンダリング方法はRouterContext
です。
私はfunc
を渡したようです。私は、このエラーから来る見当がつかないないobject
タイプ...
はこれを試してみてくださいあなたはそれが機能かどうかを見るためにconsole.logを試しましたか? 'これは' onClickの内部にあるとは思えないかもしれません – hansn