Reactのコンポーネントが制御か非制御かはどのようにして決まる？


Reactについて勉強中です。

Reactの制御コンポーネントと非制御コンポーネントについてわからない点があります。  
Reactのあるコンポーネントが制御か非制御かはどのようにして決まるのでしょうか？

公式ドキュメントをみるとrefを使用するかどうかで決まるのかという印象を受けました。  
他にも何か基準があれば教えていただきたいです。




私は以下で両者の違いを理解しています。

  * 制御コンポーネント： フォームデータをReactのコンポーネントで扱う(`useState`などコンポーネントで管理する。)
  * 非制御コンポーネント：フォームデータをDOM自身が扱う(`ref`を使ってその値を取得する)

"公式ドキュメントを見ると"とあるのですでに読んでいるかと思いますが、参考リンク貼っておきます。

  * <https://ja.reactjs.org/docs/uncontrolled-components.html>
  * <https://goshacmd.com/controlled-vs-uncontrolled-inputs-react/>

