react usestate 用法
    ReactuseState是ReactHooks中最常用的Hook之一,它允许函数组件有状态的能力。
    使用 useState 需要先在组件中引入它:
    ```
    import React, { useState } from 'react';
    ```
    然后在组件中使用 useState:
    ```
    const [state, setState] = useState(initialState);
    ```
    其中,state 是当前状态,而 setState 是用于更新状态的函数。useState 接受一个初始状态 initialState,可以是任何值。
    下面是一个简单的例子:
    ```
    import React, { useState } from 'react';
    function Counter() {
    const [count, setCount] = useState(0);
    return (
    <div>
    <p>You clicked {count} times</p>
    <button onClick={() => setCount(count + 1)}>Click me</button>
    </div>
    );
    }
    ```
    在这个例子中,我们定义了一个计数器,初始值为 0。每次点击按钮,就会调用 setCount 函数,将 count 的值加 1。最后将 count 的值渲染到页面上。
    除了基本类型的状态,useState 也可以用于对象和数组类型的状态。例如:
    ```
    function App() {
    const [todos, setTodos] = useState([{ text: 'Learn Hooks' }]);
    function addTodo() {
    setTodos([...todos, { text: 'New todo' }]);
    }
    return (
    <div>
    <ul>
    {todos.map((todo, index) => (
    <li key={index}>{}</li>
reacthooks理解    ))}
    </ul>
    <button onClick={addTodo}>Add todo</button>
    </div>
    );
    }
    ```
    在这个例子中,我们定义了一个 todos 状态,它是一个包含一个对象的数组。每次点击按钮,我们都会将一个新的对象添加到数组中。最后将所有的 text 属性渲染到页面上。
    需要注意的是,在使用 useState 时,不能直接修改状态的值,而是应该调用 setState 函数。因为 React 并不会立即更新状态的值,而是在下一次渲染时才会考虑是否需要更新。如果直接修改状态的值,可能会导致不可预料的问题。