2

私のフック useState は、状態を一度だけ変更します。常に 1 です。どうすれば修正できますか?

 const My = () => {
    const [state,setState] = useState({
        count : 0
    })

    useEffect(() => {
        console.log(state);
      },[state]);

    return (
        <div>
            <h1>{state.count}</h1>
            <button onClick={()=> setState(prevState => ({
                ...prevState,
                count: +1
            }))}>Click</button>
        </div>
    );
};
4

2 に答える 2

1

ここに問題が()=> setState(prevState => ({ ...prevState, count: +1 }))あり、次の方法で修正できます。

onClick={() =>
           setState(prevState => ({
             ...prevState,
             count: prevState.count+1
           }))
         }
于 2020-03-30T19:57:50.910 に答える