TL;DR

Controlled Component と Uncontrolled Component のいいとこ取りをするパターン。

仕組み

Props を省略可能にし、次のように振る舞わせる。

  • Props が渡された場合は、Controlled Component として振る舞う。
  • Props が渡されない場合は、Uncontrolled Component として振る舞う。

例

HTML の <input> も、このパターンで作られている。

自分の理解

Test-Driven React, Second Edition で初めて見たパターンである。本では Controllable Pattern という名前だったが、おそらく同じものだと思う。

関連

出典