この時、この Counter コンポーネントは一度だけインスタンス化されます。ボタンをクリックしても、Counter コンポーネントのインスタンスが再度作られることはありません。 型と XML 要素をマップするタイプの GUI フレームワークは大体こんな感じです。Vue.js のコンポーネントもそうですし、WPF や MAUI などの XAML もそうです。 関数コンポーネントはどうなん? Counter コンポーネントを関数コンポーネントで書いてみます。 const Counter = () => { const [value, setValue] = useState(0); const increment = () => setValue(prev => prev + 1); return <div> {{ value }} <button onClic={increment}>Cl