react crash course 2024(5) useState钩子

使用 数组解构 来命名状态变量,例如 [something, setSomething]

import { useState } from 'react';
const [showFullDescription,setShowFullDescription] = useState(false) //设置默认值为false

react的事件点击事件 οnclick={}

改变状态的setSomething函数用法

useState

 {/* 在set函数中直接传递值setShowFullDescription */}
  <button onClick={()=> setShowFullDescription(!showFullDescription)} className="text-indigo-500 mb-5 hover:text-indigo-600">
  {showFullDescription ? 'Less' :'More'}
 </button>
{/* 通过传递函数来改变状态 */}
 <button onClick={()=> setShowFullDescription((prevState)=>!prevState)} className="text-indigo-500 mb-5 hover:text-indigo-600">
  {showFullDescription ? 'Less' :'More'}
 </button>

不写成

onClick={setShowFullDescription(!showFullDescription)}

是因为useState 钩子的更新函数(例如 setShowFullDescription)需要以函数的形式被调用,而不是直接调用。

如果你直接插入一个布尔值(例如 {testio}),React 会将其视为无效内容,不会在页面上显示任何东西。这是因为布尔值不是有效的 React 渲染输出。

上一篇:Python入门——练习题一


下一篇:重修设计模式-行为型-责任链模式