当前位置: 首页 > wzjs >正文

网站建设便宜公司建设银行违法网站

网站建设便宜公司,建设银行违法网站,百度搜索 手机,巩义网络推广外包系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…

系列回顾:
在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态地展示内容。如果我们想让页面能“动”起来,比如点击一个按钮后,页面上的数字会发生变化,该怎么做呢?

欢迎来到React学习的第二站!

今天,我们要揭开React世界里最神奇的魔法——State (状态)

什么是State?
简单来说,State就是组件自己内部存储和管理的数据。

想象一下,一个电灯开关,它有两种“状态”:开和关。一个计数器,它的“状态”就是当前的数字。在React中,当一个组件的State发生变化时,React会自动地、高效地重新渲染这个组件,让UI界面更新以反映最新的State。

这就是React的核心思想:你只需要关心如何改变数据 (State),而不用关心如何操作DOM来更新页面。 React会帮你搞定一切。

而要使用State,我们就需要认识一个React提供的工具,它叫做 useState


什么是 useState Hook?

useState 是React提供的一个内置函数,我们称之为 Hook。Hook可以让你在函数组件里“钩入”React的特性,比如State。

useState 的作用就是:为你的组件添加一个State变量。

实战:创建一个简单的计数器

理论总是枯燥的,让我们通过一个最经典的“计数器”案例,来亲手体验一下 useState 的威力。

第一步:清空并准备 App.jsx

打开我们上一章创建的项目,找到 src/App.jsx 文件。先把它里面的代码清空,替换成下面这个基础结构:

import './App.css'; // 我们暂时保留样式文件function App() {return (<div>{/* 我们将在这里编写计数器代码 */}</div>);
}export default App;

第二步:引入 useState

要想使用 useState,我们必须先从 react 库中把它“请”出来。修改第一行代码:

import { useState } from 'react'; // 从 'react' 导入 useState
import './App.css';

第三步:使用 useState 创建State变量

现在,在 App 函数的内部,return 语句的上面,添加下面这行代码:

function App() {const [count, setCount] = useState(0); // <-- 添加这一行return (// ...);
}

这行代码就是使用useState的精髓,让我们来把它拆解开:

  • useState(0): 我们调用useState函数,并传入一个参数 0。这个 0 就是我们这个State变量的初始值。也就是说,计数器一开始是从0开始的。
  • const [count, setCount] = ...: useState会返回一个包含两个元素的数组。我们使用了JavaScript的数组解构赋值语法,把这两个元素分别赋值给了两个变量:
    1. count: 这就是我们的State变量。它的值就是当前的状态(在这里就是当前的计数值)。我们可以在JSX中直接使用它来显示。
    2. setCount: 这是专门用来更新count值的函数。记住一个铁律:你永远不能直接修改State变量(比如 count = count + 1 是绝对禁止的!),你必须通过这个更新函数来改变它。

第四步:在页面上显示State

现在我们有了count这个State变量,让我们把它显示在页面上。修改return部分的代码:

function App() {const [count, setCount] = useState(0);return (<div><h1>计数器</h1><p>当前的计数值是: {count}</p></div>);
}

保存文件,看看浏览器,页面上是不是已经显示出“当前的计数值是: 0”了?

第五步:创建按钮,并通过更新函数改变State

最后,也是最关键的一步,我们要创建一个按钮,每次点击它时,就调用setCount函数来增加count的值。

继续修改return部分的代码:

function App() {const [count, setCount] = useState(0);// 定义一个事件处理函数const handleIncrease = () => {// 调用更新函数来改变 statesetCount(count + 1); };return (<div><h1>计数器</h1><p>当前的计数值是: {count}</p><button onClick={handleIncrease}>点我 +1</button></div>);
}

代码解释:

  1. 我们创建了一个 <button>
  2. 给这个按钮添加了一个 onClick 事件。当按钮被点击时,它会调用我们定义的 handleIncrease 函数。
  3. handleIncrease 函数内部,我们调用了 setCount(count + 1)。这行代码告诉React:“请把count这个State的值更新为它当前的值加1”。

现在,保存文件,回到浏览器,疯狂点击那个“点我 +1”按钮吧!

你会看到,每点一次,页面上的数字就会自动增加。我们没有写任何一行DOM操作代码,只是调用了setCount,React就帮我们把页面更新好了。这就是State的魔力!


总结与思考

今天,我们掌握了React中最核心的概念,这是你从静态页面走向动态交互应用的关键一步。让我们回顾一下:

  1. State是什么? 它是组件内部的数据,当它改变时,UI会自动更新。
  2. useState是什么? 它是React提供的一个Hook,用来在函数组件中添加和管理State。
  3. 如何使用useState
    • 通过 import { useState } from 'react' 引入。
    • 调用 const [state变量, 更新函数] = useState(初始值) 来创建。
    • 在JSX中使用 {state变量} 来显示数据。
    • 在事件处理函数中调用 更新函数(新值) 来改变数据。
  4. 铁律: 永远不要直接修改State变量,必须使用它对应的更新函数。

我们现在已经能让一个组件自己管理自己的数据了。但是,如果一个组件需要从它的“父亲”那里获取数据呢?比如,一个UserProfile组件,需要从App组件那里接收用户名和头像地址。

在下一篇文章 《React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?》 中,我们将学习另一个核心概念——Props,掌握组件之间最基本的沟通方式。我们下期不见不散!


文章转载自:

http://HLANZ3qY.pgfkL.cn
http://MxNxsvCE.pgfkL.cn
http://g4Jai7WE.pgfkL.cn
http://3KTZXodV.pgfkL.cn
http://nFY7XTeP.pgfkL.cn
http://WMfJ3Pw2.pgfkL.cn
http://gdfihOVk.pgfkL.cn
http://fCetu59X.pgfkL.cn
http://B5k5X0DI.pgfkL.cn
http://1CHQBXik.pgfkL.cn
http://IDMevB1o.pgfkL.cn
http://Ecs8up4o.pgfkL.cn
http://VpqMV7S0.pgfkL.cn
http://Ad7ODlDd.pgfkL.cn
http://4ydxe4aG.pgfkL.cn
http://1KQIFNBu.pgfkL.cn
http://ZVvqPVxF.pgfkL.cn
http://Ye4XU50r.pgfkL.cn
http://kM2CddYf.pgfkL.cn
http://HJYVl4Pd.pgfkL.cn
http://ialm3Cb5.pgfkL.cn
http://xWJrP6Bp.pgfkL.cn
http://5qpsOT5F.pgfkL.cn
http://g6swVgJm.pgfkL.cn
http://CJOJ6yse.pgfkL.cn
http://up1mJkfY.pgfkL.cn
http://HCKu0f6r.pgfkL.cn
http://JzuyLtEb.pgfkL.cn
http://dWoooBAP.pgfkL.cn
http://HvJxqwdY.pgfkL.cn
http://www.dtcms.com/wzjs/706378.html

相关文章:

  • 企业网站建设需注意点政务网站建设工作方案
  • 网站设置为起始页英文网站建设知识
  • 做贸易 公司网站放哪里网站建设公司的政策风险
  • 网站推广朋友圈文案怎么做网站教程
  • 网站开发是什么职业les做ml网站
  • 浦东新区专业网站建设wordpress安装过程
  • 易尔通做网站怎么样东莞大朗最新通告
  • 网站和网址的区别个人网站空间购买
  • 做ppt接单的网站电子商务的就业方向
  • 做淘宝返利网站能挣钱建设一个功能简单的网站
  • 网站建设怎么做网站网络维护工作室 员工职务
  • nodejs 做视频网站wordpress恢复已删除目录
  • 西安建立公司网站的步骤阿里云小程序开发
  • 如何不让百度收录网站南山做网站关于枪
  • 网络工程师自学网站网站后台无法修改信息
  • 做网站难度企业宣传片走心文案
  • 网站优化的公司网站后台显示连接已重置
  • 乐山 做网站网坛最新排名
  • 网站设计的软件wordpress erp框架
  • 网站开发用户登陆的安全地产网站开发公司
  • 手机端网站开发的意义漯河优惠网站建设价格
  • 网站推广描述公众号怎么弄好看的模板
  • 广西住房与城乡建设厅网站鄂州seo
  • 青岛做网站建设价格低网页界面设计的界面结构组成
  • 单页网站怎么做竞价html模板 网站
  • 建立网站是什么建立的网站设计工作内容
  • 深圳高端网站定制能解析国外网站的dns
  • 横沥镇网站建设wordpress 理财
  • 什么网站做美食最好最专业做动漫短视频网站
  • 做微信公众号的网站吗怎样自己做企业网站