2017-03-07 6 views
0

私はES6とReactを使い始めています。コンポーネントクラスに検証メソッドを作成してから、処理を進めていきます。クラスレスポンスインスタンスメソッドをクラスコンポーネントにバインド

リアクションコンポーネントのバインディングインスタンスメソッドについては、イベントハンドラとは何か異なりますか?私は正しく呼び出される子コンポーネントに渡すsetUserメソッドを持っています。しかし、私はloginUserなeventHandler内からisFormValidを呼び出そうとすると、私は

Uncaught TypeError: Cannot read property 'isFormValid' of null 
+0

あなたはあなたが 'setUser'(すなわち、それをバインド)に行っていることをloginUser''に同じことをしなければならない – Li357

+0

コンストラクタ内のコンポーネントのこれをバインドする必要があります。 'isFormValid'は実際にバインドする必要はありません。なぜ実際に何が行われ、いつ必要なのかを知るためにバインディングが必要な理由を検討することをお勧めします。 –

答えて

2

を取得するメッセージCannot read property 'isFormValid' of nullはisFormValidがnullオブジェクトからアクセスされていることを述べています。 意味、this内側loginUserメソッドはnullです。 isFormValidをコンストラクタで呼び出すメソッドをバインドします。つまり、loginUserです。

constructor(props) { 
    super(props); 
    /// other methods 
    this.loginUser = this.loginUser.bind(this); 
} 
関連する問題