button の onClick 属性にそのまま関数を渡すことはできないのでしょうか?

例を出しながら説明していきます。
2023年9月17日
ユーザー

お世話になっております。

今回の動画で onClick 属性で関数を呼び出している部分で onClick 属性にそのまま関数を渡すことができないのかと思い、button の部分を下記のように変更しました。

<button onClick={props.onDecrement(props.menuId)}>-</button>

すると、ボタンを押した際に下記のようなエラーが出ました。

Warning: Cannot update a component (`App`) while rendering a different component (`Menu`). 
To locate the bad setState() call inside `Menu`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
    at Menu (<anonymous>:22:22)
    at ul
    at App (<anonymous>:28:33)

onClick 属性で関数に () をつけて渡すと、関数ではなく返り値が渡されてしまうことが関係しているのかなとは思ったのですが、そうだとしても上記のエラーが出ている理由がわからなかったので教えていただけますと幸いです。

よろしくお願いいたします。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(1)