react.jsとredux-formを使用しています。
LoginFormという名前のコンポーネントはredux形式です。 redux-formで送信すると、callBack関数loginRequest
が実行されます。バックエンドにログインメッセージを投稿します。React `this.props`はユーザ定義関数で定義されていません
私は問題に直面しています。 私はconnect
を使ってreduxを接続して反応します。 関数loginRequestにあります。 this.props
は未定義ですが、render
関数レンダーではthis.props.postLogin
が定義されています。
export default class Login extends React.Component {
constructor(props){
super(props);
this.state = {
};
}
loginRequest = (values) => {
this.props.postLogin(values.username, values.password);
}
changeAllFun =() => {
hashHistory.push('/organizationManager')
}
//organizationManager
render(){
return (
<div style={style.loginStyle}>
<h1>Login</h1>
<RaisedButton disableTouchRipple={true}
disabled={false} label="postLogin"
onTouchTap={this.changeAllFun}
></RaisedButton>
<LoginForm onSubmit={this.loginRequest} style={style.loginStyle}/>
</div>
);
}
}
この問題を解決するためのベストプラクティスについてはわかりません。
これはES6のバインディング・コンテキストの問題です。
'Login'コンポーネントがどこに接続されているかを表示できますか?' postLogin' propがどのように渡されているのですか?:)受信している完全なエラーメッセージを投稿できますか? –
@ThànhChungBùiこれはバインディングの問題ではなく、メソッドloginRequestは矢印関数です。 –