import { useState } from "react";
import './App.css';
function App() {
  const [redBorder,setRedBorder] = useState(false);   //useState()中的false是redBorder的初始值
  const changeColor = ( ) => {
    setRedBorder(!redBorder);
/*
        当useState里是对象,要修改对象中的其中一项时
        const newUser = Object.assign({},user);
        newUser.name ='ads';
   setCounter({...user},name:'asd')  {...user}浅复制
*/
  }
 
  return (
    <div>
      <p className={`red ${redBorder?'':'blue'}`}>这是一个段落</p> //在用{}的时候外围使用 ` `包裹
      <button onClick={changeColor}>点我一下</button>
    </div>
  );
 
 
export default App; //唯一输出
———————————————————————————————————————————————————————————————————————
const A组件 = ( ) => {
  console.log("A组件渲染");
  const [num,setNum] = useState(0);
  const funA = ( ) => {
    console.log("点击");
    setNum(1);
  };
  return (<>
    <B组件/>
    <button onclick={funa}>{num}</button>
  </>
  );
};
这时运行顺序为:
  A组件渲染,B组件渲染
  点击第一次,0 -》 1 ,点击,A组件渲染,B组件渲染
  点击第二次,1 -》 1 ,点击,A组件渲染
  点击第三次,1 -》 1 ,点击

ReactHooks_useState的更多相关文章

随机推荐

  1. 数据库可视化---grafana的简单使用

    简介 grafana可以连接各种数据源, 并通过给定的SQL语句做数据的定时统计和web大屏展示,也可以对外提供API进行展示, 类似这样 内含多种不同类型图表, 可以涵盖很多种监控需求, 报表可视化 ...

  2. CAD中如何将图形对象转换为三维实体?

    有些小伙伴在CAD绘制完图纸后,想要将图纸中的某些图形对象转换成三维实体,但却不知道该如何操作,其实很简单,本节CAD绘图教程就和小编一起来了解一下浩辰CAD软件中将符合条件的对象转换为三维实体的相关 ...

  3. 解析bean封装成BeanDefinition

    默认命名空间 1:parseDefaultElement 从代码中可以了解到默认的命名空间的一节节点主要是4种,import,alias,bean,beans private void parseDe ...

  4. sqlserver ef 分页

    sqlserver分页常用的有两种: 1.利用row_number set statistics time on; -- 分页查询(通用型) select top pageSize * from (s ...

  5. 【快速学】指针是什么?指针常量、常量指针是什么?(C++)

    0.先上总结 指针是什么?指针是个数据类型.你可以定义一个指针变量,它里面存储的是个地址 如int a=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a 同理,int *b= ...

  6. git入门123

    一.新手上路 最重要的4招: 1. 初始化本地仓库 git init 或者 git clone 远程仓库地址 2.添加改动文件 git add 改动的文件名或者目录 偷懒的话可以直接 git add ...

  7. fastadmin打包插件

    <?php namespace app\command; use think\console\Command; use think\console\Input; use think\consol ...

  8. 解决uniapp 使用自带 switch 双向绑定视图不更新的问题

    使用  this.$set( a, b, c) a:需要更新视图属性对象 b:具体的属性值(就是你要更新视图的属性值) c:传递的参数 this.$set(this.gwjSelet,this.gwj ...

  9. linux发展史及软件配置

    linux岗位需求 # 1.岗位需求 自动化运维,容器运维,DBA,IDC运维(不建议) ps:linux岗位会的越多给的越多 linux工作本质 linux简要发展史 # 1.发展 1991年,芬兰 ...

  10. 052_Lightning

    不支持内容: JavaScript buttons, customizable forecasting, and customizable tabs. 设置部分User选择使用Lightning: 单 ...