快速上手React:从概述到组件与事件处理

这篇具有很好参考价值的文章主要介绍了快速上手React:从概述到组件与事件处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript
「作者主页」:雪碧有白泡泡
「个人网站」:雪碧的个人网站
「推荐专栏」

java一站式服务
React从入门到精通
前端炫酷代码分享
★ 从0到英雄,vue成神之路★
uniapp-从构建到提升
从0到英雄,vue成神之路
解决算法,一个专栏就够了
架构咱们从0说
★ 数据流通的精妙之道★
★后端进阶之路★

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

一、React概述

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

在线立即尝试 React

点击跳转地址
快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

React框架的书写方式分为两种,一种是脚本方式(JavaScript标签引入,练习使用);一种是react脚手架方式(常用)。

脚本方式

  • 步骤1 :在页面中引入 react 库 和 react-dom 库;

对于步骤1,你可以在页面中使用以下代码来引入react库和react-dom库:

<script crossorigin src="https://cdn.jsdelivr.net/npm/react@17.0.2/umd/react.production.min.js"></script>
<script crossorigin src="https://cdn.jsdelivr.net/npm/react-dom@17.0.2/umd/react-dom.production.min.js"></script>

请确保将 17.0.2 替换为你想要使用的React版本。

  • 步骤2:引入 Babel;React中使用的是JSX语法,但是浏览器不识别JSX,我们就需要引入babel

对于步骤2,你可以使用以下代码来引入Babel并使用JSX语法:

<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.15.8/babel.min.js"></script>

<script type="text/babel">
  // 在此处编写React组件和代码
</script>

你还可以选择将Babel作为开发依赖项使用,并使用Babel进行项目构建。这样可以更好地支持ES6+语法和更多的Babel插件。

  • 步骤3 :创建挂载点。

对于步骤3,你可以在HTML中创建一个带有特定id的div元素,作为React组件的挂载点。例如:

<div id="root"></div>

你可以将root替换为任何你想要的名称。

完成以上步骤后,你就可以开始编写React组件并将它们渲染到挂载点上了。

完整示例

这是一个完整的示例代码,包括了引入React库、引入Babel、创建挂载点以及一个简单的React组件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>React App</title>
  <script crossorigin src="https://cdn.jsdelivr.net/npm/react@17.0.2/umd/react.production.min.js"></script>
  <script crossorigin src="https://cdn.jsdelivr.net/npm/react-dom@17.0.2/umd/react-dom.production.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.15.8/babel.min.js"></script>
</head>
<body>
  <div id="root"></div>
  <script type="text/babel">
    // 创建一个名为Greeting的React组件
    function Greeting(props) {
      return <p>Hello, {props.name}!</p>;
    }

    // 渲染Greeting组件到页面上的根元素
    ReactDOM.render(<Greeting name="John" />, document.getElementById('root'));
  </script>
</body>
</html>

在上述代码中,我们引入了React库和ReactDOM库的生产版本,并且使用Babel解析了内嵌的JSX代码。然后,我们在页面中创建了一个id为root的div作为React组件的挂载点。

接下来,我们定义了一个名为Greeting的React组件,它通过props接收一个名为name的属性,并返回一个包含问候语的p元素。

最后,我们使用ReactDOM.render方法将Greeting组件渲染到页面上的挂载点。在这个例子中,Greeting组件将显示"Hello, John!"。你可以根据需要修改组件的属性值。

脚手架方式

步骤1 - 创建虚拟DOM对象

// 创建虚拟DOM对象
const vNode = React.createElement(
  // 标签名
  "div",
  // 属性对象
  {
    id: "mydiv",
    className: "cls",
  },
  // 标签内的内容
  "hello react!"
);

步骤2 - 获取挂载点

// 获取挂载点
const root = document.getElementById("root");

步骤3 - 渲染页面

// 渲染页面
ReactDOM.render(vNode, root);

完整代码

完整代码如下所示:

<!DOCTYPE html>
<html>

<head>
  <title>React 封装演示</title>
  <script src="https://cdn.jsdelivr.net/npm/react/umd/react.development.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/react-dom/umd/react-dom.development.js"></script>
</head>

<body>
  <!-- 挂载点:后续生成的内容插入这里 -->
  <div id="root"></div>

  <script type="text/javascript">
    // 步骤1 - 创建虚拟DOM对象
    const vNode = React.createElement(
      // 标签名
      "div",
      // 属性对象
      {
        id: "mydiv",
        className: "cls",
      },
      // 标签内的内容
      "hello react!"
    );

    // 步骤2 - 获取挂载点
    const root = document.getElementById("root");

    // 步骤3 - 渲染页面
    ReactDOM.render(vNode, root);
  </script>
</body>

</html>

以上代码以纯HTML形式呈现,直接在浏览器中打开即可看到渲染后的React组件。在代码中,首先引入了React和ReactDOM的开发版本。然后,在<div id="root"></div>标签中设置了挂载点。接下来,使用React.createElement()方法创建了虚拟DOM对象,并设置了标签名、属性对象和标签内的内容。最后,通过document.getElementById("root")获取到挂载点,并使用ReactDOM.render()方法将虚拟DOM对象渲染到挂载点上。这样,页面上就会渲染出一个带有"id"和"className"属性的div标签,内容为"hello
react!"。
组件是 React 中非常重要的概念,它负责将页面划分为独立可复用的部分,并且可以根据不同的输入(props)来动态展示内容。

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

二、组件

组件,从概念上类似于 JavaScript 函数。它接受任意的入参即(props”),并返回用于描述页面展示内容的 React元素。React 定义组件有两种方式

函数方式组件

函数方式组件是 React16.8版本之后新增的语法,它是一种简单、轻量级的定义组件的方式。我们可以使用函数声明一个组件,接收一个参数props,并返回一个React元素来描述页面的展示内容。

下面是一个简单的函数方式组件的示例代码:

function Welcome(props) {
  return <h1>Hello, {props.name}!</h1>;
}

// 使用该组件
const element = <Welcome name="John" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

上面的代码中,我们定义了一个名为Welcome的函数组件,它接收一个props参数,这个props参数可以包含任意的属性。在组件内部,我们可以使用props对象中的属性来动态展示页面内容。

类方式组件

类方式组件是 React 中更为传统和强大的定义组件的方式。我们可以使用类来定义一个组件,这个类继承React.Component,并且实现一个render方法来返回React元素。

下面是一个简单的类方式组件的示例代码:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}!</h1>;
  }
}

// 使用该组件
const element = <Welcome name="John" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

在上面的代码中,我们定义了一个名为Welcome的类组件,它继承了React.Component,然后实现了一个render方法来描述组件的展示内容。在render方法中,我们可以通过this.props来获取传入的属性,并使用它们来动态展示内容。

无论是函数方式还是类方式,组件都是一个接受props参数并返回React元素的函数或类。它们可以根据props的不同来灵活地展示不同的内容,从而实现页面的组件化和重用。

快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript

三.事件

React中的事件处理与DOM元素的事件处理非常相似,但有一些语法上的不同之处。React使用小驼峰式(camelCase)的命名方式来定义事件,并需要传入一个函数作为事件处理函数,而不是一个字符串。这样做可以确保事件处理函数在React组件中正确地绑定和执行。

React处理点击事件

下面是一个使用React处理点击事件的示例代码:

class Button extends React.Component {
  handleClick() {
    console.log('Button clicked');
  }
  
  render() {
    return <button onClick={this.handleClick}>Click me</button>;
  }
}

ReactDOM.render(<Button />, document.getElementById('root'));

在上面的代码中,我们创建了一个Button组件,并在组件的render方法中返回一个 <button> 元素。在 <button>
元素上,我们通过onClick属性将一个函数 this.handleClick 作为点击事件的处理函数。

当按钮被点击时,事件处理函数 handleClick 会被调用,并输出一个日志消息。

需要注意的是,在React中,事件处理函数会自动绑定到组件实例上。所以在事件处理函数中可以使用 this 来引用组件实例。

另外还有一种使用箭头函数的方式,在事件处理函数中访问组件实例。

箭头函数

下面是一个使用箭头函数的事件处理的示例代码:

class Button extends React.Component {
  handleClick = () => {
    console.log('Button clicked');
  }
  
  render() {
    return <button onClick={this.handleClick}>Click me</button>;
  }
}

ReactDOM.render(<Button />, document.getElementById('root'));

在上面的代码中,我们使用了类属性的方式去定义事件处理函数,这样做可以确保箭头函数内部的 this 与组件实例保持一致。

总结一下,React中的事件处理与DOM元素的事件处理语法上有一些区别,但整体思想非常相似。我们可以通过使用小驼峰式的命名方式和传入函数作为事件处理函数,来实现在React组件中处理各种用户交互的事件。

小结

在本篇文章中,我们首先介绍了React的概述,它是一个用于构建用户界面的JavaScript库。我们还介绍了使用脚本方式和脚手架方式来安装和运行React的方法。

其次,我们讨论了React组件的概念和两种定义组件的方式:函数方式和类方式。函数方式是React16.8版本之后新增的语法,它更为简单和轻量级。而类方式是React中传统和强大的定义组件的方式,它继承React.Component并实现render方法来描述组件的展示内容。

最后,我们学习了React中处理事件的方法。React的事件处理与DOM元素的事件处理相似,但有一些语法上的不同。React事件的命名采用小驼峰式,需要传入一个函数作为事件处理函数。
快速上手React:从概述到组件与事件处理,React从入门到精通,全部文章,react.js,前端,前端框架,javascript文章来源地址https://www.toymoban.com/news/detail-645552.html

到了这里,关于快速上手React:从概述到组件与事件处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Qt6快速入门-事件处理

    Qt GUI应用程序的核心是 QApplication 类。 每个GUI应用程序都需要一个并且只有一个 QApplication 对象才能运行。 该对象包含应用程序的事件循环——控制所有用户与 GUI 交互的核心循环。

    2024年02月15日
    浏览(43)
  • Flink---1、概述、快速上手

    Flink的官网主页地址:https://flink.apache.org/ Flink的核心目标是 “数据流上有状态的计算” (Stateful Computations over Data Streams)。 具体说明:Apache Flink是一个 “框架和分布式处理引擎” ,用于对 无界 和 有界数据流 进行 有状态 计算。 1.1.1 无界数据流 有定义流的开始,但是没有定

    2024年02月09日
    浏览(39)
  • React学习——快速上手

    https://php.cn/faq/400956.html 1、可以手动使用npm来安装各种插件,来从头到尾自己搭建环境。 如: 2、脚手架 create-react-app https://react.dev/learn/tutorial-tic-tac-toe 官方文档的井字游戏案例 1、分解组件 2、构建静态版本 可以“自上而下”地构建组件,从层次结构中较高的组件开始构建,

    2024年02月22日
    浏览(36)
  • React Router 6 快速上手

    React Router 以三个不同的包发布到 npm 上,它们分别为: react-router: 路由的核心库,提供了很多的:组件、钩子。 react-router-dom: 包含react-router所有内容,并添加一些专门用于 DOM 的组件,例如 BrowserRouter 等 。 react-router-native: 包括react-router所有内容,并添加一些专门用于ReactNa

    2024年02月11日
    浏览(30)
  • 从Vue快速上手React

    还没使用过React 的 vue同学可以通过这篇博客快速上手React。 Vue 数据读写: React 数据读写: Vue提供了 watch 帮忙监听数据变化 React提供了 useEffect 帮忙监听数据变化,但请注意,useEffect还有其他用途,并不局限于此 注意:vue中的数据监听watch可以直接获取新旧值,而react中数据

    2024年02月13日
    浏览(35)
  • OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

    OpenMV是一个国外的开源项目, 是一款低价、可扩展、支持Python的机器视觉模块 ,这个模块的目标是成为“机器视觉世界的Arduino “。 OpenMV的官网:https://openmv.io/。 OpenMV是完全开源的硬件 ,意味着所有版本的OpenMV硬件,你都可以在github下载到开发板的原理图、pcb,甚至是芯片

    2024年02月02日
    浏览(33)
  • 【Apache-Flink零基础入门】「入门到精通系列」手把手+零基础带你玩转大数据流式处理引擎Flink(特点和优势分析+事件与时间维度分析)

    本文介绍了Apache Flink的定义、架构、基本原理,并辨析了大数据流计算相关的基本概念。同时回顾了大数据处理方式的历史演进以及有状态的流式数据处理的原理。最后,分析了Apache Flink作为业界公认为最好的流计算引擎之一所具备的天然优势,旨在帮助读者更好地理解大数

    2024年02月03日
    浏览(61)
  • 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境)】

    视频地址: 尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】 尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程、案例实操)】 尚硅谷大数据技术Spark教程-笔记03【SparkSQL(概述、核心编程、

    2023年04月15日
    浏览(55)
  • 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】

    视频地址: 尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】 尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程、案例实操)】 尚硅谷大数据技术Spark教程-笔记03【SparkSQL(概述、核心编程、

    2023年04月21日
    浏览(48)
  • 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】 尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】 尚硅谷大数据Flink1.17实

    2024年02月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包