countを増やしても表示が0のままです
質問したときのコード
const [count, setCount] = useState(0);
function handleClick() {
count = count + 1;
console.log(count);
}ryo_tサンプル2026-08-10
質問したときのコード
const [count, setCount] = useState(0);
function handleClick() {
count = count + 1;
console.log(count);
}count に直接代入しているのが原因です。
React は「値が変わったこと」を setCount の呼び出しで知ります。変数を書き換えただけでは、React には何も伝わらないので、描き直しが起きません。console.log に出ているのは、変数としては変わっているからです。
function handleClick() {
setCount(count + 1);
}
こう書くと、値の更新と再描画の依頼が同時に伝わります。
自分も最初これで丸一日溶かしました…。count++ とか count = count + 1 は普通のJSの感覚だとやりたくなるんですが、Reactだと必ず set の関数を通す、と覚えてしまうのが早いです。
回答するにはログインが必要です。
ログイン