私はhandleSubmitとhandleResetの2つのメソッドを含む反応コンポーネントクラスを持っています。なぜ論理AND演算子がこの2つの関数を呼び出すのですか
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
// initial state
};
this.handleSubmit = this.handleSubmit.bind(this);
this.handleReset = this.handleReset.bind(this);
}
handleReset() {
this.setState({
// reset state to initial state
});
}
handleSubmit(event) {
// handle form submission and sending request to api endpoint
}
render() {
return (
<form className="form-horizontal col-sm-12" onSubmit={this.handleSubmit}>
<OtherFormElements />
<button
type="submit"
className="btn btn-success"
onClick={this.handleSubmit && this.handleReset}
>Submit
</button>
</form>
);
}
}
[送信]ボタンをクリックすると、両方の関数が呼び出されます。これは望ましい結果ですが、論理AND演算子についての私の理解から、これはそうではありません。私の理解から、aが真であると評価された場合、& & bはbになります。私が知りたいのは、なぜこの場合に両方の関数が呼び出されるのかということです。
両方の関数が呼び出されたことをどのように知っていますか? –
aがtrueの場合、&& bはbになります。 >>関数を実行する必要があるかどうかを判断するために関数を実行する必要があります。関数 –
を返します。this.handleSubmitが未定義の場合、this.handleResetは – agit