状態が変わるとコンポーネントを描き直し、差分だけを実際の画面に反映する。
React は、画面をコンポーネント(部品の関数)で組み立てるライブラリです。コンポーネントは「データを受け取って、画面の形を返す関数」で、データが変わると React が関数を呼び直し、前回との差分だけを実際の DOM に反映します。
状態・props・副作用
| しくみ | 役割 |
|---|---|
| props | 親から渡される値。子は書き換えない |
状態(useState) | そのコンポーネントが持つ値。setX で変えると再描画される |
副作用(useEffect) | 描画のあとに、外の世界と同期する処理(購読・タイマー・DOM の直接操作) |
function Clock() {
const [now, setNow] = useState(Date.now());
useEffect(() => {
const id = setInterval(() => setNow(Date.now()), 1000);
return () => clearInterval(id); // 片付け
}, []);
return <p>{new Date(now).toLocaleTimeString()}</p>;
}面接ではこう答える
React は、画面をコンポーネントという関数で組み立てるライブラリです。コンポーネントは props と状態を受け取って画面の形を返し、状態が変わると React が関数を呼び直して、前回との差分だけを実際の DOM に反映します。props は親から受け取って書き換えない値、状態は useState で持つ値で、setter で変えると再描画されます。
Webとの関わりフロントの実装のほとんどで使う考え方で、再描画の多さや状態の置き場所の判断の土台です。