背景 React16.8以降ではフックが導入されています。開発の時に、一回useSelectというreduxのフックをif分に入れまして、lintに怒られました。そして、調べたところ、フックをif分に入れたり、returnの後ろに入れたりしてはいけないです。 公式サイトもそのように強く強調しています フックをループや条件分岐、あるいはネストされた関数内で呼び出してはいけません しかし、原因について公式の説明文をみてもなかなか解像度がつかず、ずっと疑問として抱えています。 この記事はReactのソースコードレベルから、なぜフックはif分に書いてはいけないですかを説明いたします。 イメジーをつけやすくために、スクショとgifをいっぱい使っています、何卒よろ即お願いたします。 説明するためなサンプルコード 今回は以下のサンプルコードを使って、説明いたします。 import { useEffect