NextJSフレームワークにおけるクライアントコンポーネント

さて、サーバーコンポーネントをクライアントコンポーネントに書き換えてみましょう。そのためには、コンポーネントファイルの先頭にディレクティブ 'use client' を記述します:

src/app/test/page.jsx'use client';

export default function Test() {
  return <h1>hello, user!</h1>;
}

これで、useState を通じて作成されるステートが利用可能になります。例としてステートを作成し、その内容をマークアップに出力してみましょう:

src/app/test/page.jsx'use client';

import { useState } from 'react';

export default function Test() {
  let [name, setName] = useState('user');
  return <h1>hello, {name}!</h1>;
}
Задание 1

2つの入力フィールドとボタンを持つクライアントコンポーネントを作成してください。入力フィールドには数値を入力できるようにします。ボタンが押されたら、入力された数値の合計を段落タグに出力してください。

Задание 2

ディレクティブ 'use client' を削除してください。その場合、NextJS がサーバーコンポーネント内部でステートを使用できないためにエラーを発生させることを確認してください。