useState的作用是让函数组件具有内部状态

    1. import React, { useState } from 'react';
    2. export default function Hello () {
    3. /*
    4. name即是定义的当前函数组件的内部状态,useState传递的参数‘张三’,是name的初始值,
    5. setName是修改name的唯一方式,它接受的参数就是新的name值,注意:不能通过name = xxx直接修改数
    6. 据,所以请仔细看,使用const声明了name,而不是let去声明。
    7. sexObj同理,只不过初始值是一个对象,在修改的时候需要注意修改其引用
    8. */
    9. const [name, setName] = useState('张三');
    10. const [sexObj, setSexObj] = useState({ sex: '男' });
    11. //函数组件的内部方法一般直接定义在函数内部即可
    12. function changeNameAndSex () {
    13. setName('王二麻子');
    14. //注意:如果值是引用类型的,则需要修改引用,否则界面不会更新
    15. setSexObj({
    16. ...setSexObj,
    17. sex: '女'
    18. });
    19. }
    20. return (
    21. <div>我叫:{name} 性别:{sexObj.sex}
    22. <button onClick={changeNameAndSex}>点我修改名字和性别</button></div>
    23. )
    24. }