国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

快速上手React:從概述到組件與事件處理

這篇具有很好參考價(jià)值的文章主要介紹了快速上手React:從概述到組件與事件處理。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript
「作者主頁」:雪碧有白泡泡
「個(gè)人網(wǎng)站」:雪碧的個(gè)人網(wǎng)站
「推薦專欄」

java一站式服務(wù)
React從入門到精通
前端炫酷代碼分享
★ 從0到英雄,vue成神之路★
uniapp-從構(gòu)建到提升
從0到英雄,vue成神之路
解決算法,一個(gè)專欄就夠了
架構(gòu)咱們從0說
★ 數(shù)據(jù)流通的精妙之道★
★后端進(jìn)階之路★

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

一、React概述

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

React 是一個(gè)聲明式,高效且靈活的用于構(gòu)建用戶界面的 JavaScript 庫。使用 React 可以將一些簡短、獨(dú)立的代碼片段組合成復(fù)雜的 UI 界面,這些代碼片段被稱作“組件”。

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

在線立即嘗試 React

點(diǎn)擊跳轉(zhuǎn)地址
快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

React框架的書寫方式分為兩種,一種是腳本方式(JavaScript標(biāo)簽引入,練習(xí)使用);一種是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作為開發(fā)依賴項(xiàng)使用,并使用Babel進(jìn)行項(xiàng)目構(gòu)建。這樣可以更好地支持ES6+語法和更多的Babel插件。

  • 步驟3 :創(chuàng)建掛載點(diǎn)。

對于步驟3,你可以在HTML中創(chuàng)建一個(gè)帶有特定id的div元素,作為React組件的掛載點(diǎn)。例如:

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

你可以將root替換為任何你想要的名稱。

完成以上步驟后,你就可以開始編寫React組件并將它們渲染到掛載點(diǎn)上了。

完整示例

這是一個(gè)完整的示例代碼,包括了引入React庫、引入Babel、創(chuàng)建掛載點(diǎn)以及一個(gè)簡單的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">
    // 創(chuàng)建一個(gè)名為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庫的生產(chǎn)版本,并且使用Babel解析了內(nèi)嵌的JSX代碼。然后,我們在頁面中創(chuàng)建了一個(gè)id為root的div作為React組件的掛載點(diǎn)。

接下來,我們定義了一個(gè)名為Greeting的React組件,它通過props接收一個(gè)名為name的屬性,并返回一個(gè)包含問候語的p元素。

最后,我們使用ReactDOM.render方法將Greeting組件渲染到頁面上的掛載點(diǎn)。在這個(gè)例子中,Greeting組件將顯示"Hello, John!"。你可以根據(jù)需要修改組件的屬性值。

腳手架方式

步驟1 - 創(chuàng)建虛擬DOM對象

// 創(chuàng)建虛擬DOM對象
const vNode = React.createElement(
  // 標(biāo)簽名
  "div",
  // 屬性對象
  {
    id: "mydiv",
    className: "cls",
  },
  // 標(biāo)簽內(nèi)的內(nèi)容
  "hello react!"
);

步驟2 - 獲取掛載點(diǎn)

// 獲取掛載點(diǎn)
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>
  <!-- 掛載點(diǎn):后續(xù)生成的內(nèi)容插入這里 -->
  <div id="root"></div>

  <script type="text/javascript">
    // 步驟1 - 創(chuàng)建虛擬DOM對象
    const vNode = React.createElement(
      // 標(biāo)簽名
      "div",
      // 屬性對象
      {
        id: "mydiv",
        className: "cls",
      },
      // 標(biāo)簽內(nèi)的內(nèi)容
      "hello react!"
    );

    // 步驟2 - 獲取掛載點(diǎn)
    const root = document.getElementById("root");

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

</html>

以上代碼以純HTML形式呈現(xiàn),直接在瀏覽器中打開即可看到渲染后的React組件。在代碼中,首先引入了React和ReactDOM的開發(fā)版本。然后,在<div id="root"></div>標(biāo)簽中設(shè)置了掛載點(diǎn)。接下來,使用React.createElement()方法創(chuàng)建了虛擬DOM對象,并設(shè)置了標(biāo)簽名、屬性對象和標(biāo)簽內(nèi)的內(nèi)容。最后,通過document.getElementById("root")獲取到掛載點(diǎn),并使用ReactDOM.render()方法將虛擬DOM對象渲染到掛載點(diǎn)上。這樣,頁面上就會渲染出一個(gè)帶有"id"和"className"屬性的div標(biāo)簽,內(nèi)容為"hello
react!"。
組件是 React 中非常重要的概念,它負(fù)責(zé)將頁面劃分為獨(dú)立可復(fù)用的部分,并且可以根據(jù)不同的輸入(props)來動(dòng)態(tài)展示內(nèi)容。

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

二、組件

組件,從概念上類似于 JavaScript 函數(shù)。它接受任意的入?yún)⒓矗╬rops”),并返回用于描述頁面展示內(nèi)容的 React元素。React 定義組件有兩種方式

函數(shù)方式組件

函數(shù)方式組件是 React16.8版本之后新增的語法,它是一種簡單、輕量級的定義組件的方式。我們可以使用函數(shù)聲明一個(gè)組件,接收一個(gè)參數(shù)props,并返回一個(gè)React元素來描述頁面的展示內(nèi)容。

下面是一個(gè)簡單的函數(shù)方式組件的示例代碼:

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

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

上面的代碼中,我們定義了一個(gè)名為Welcome的函數(shù)組件,它接收一個(gè)props參數(shù),這個(gè)props參數(shù)可以包含任意的屬性。在組件內(nèi)部,我們可以使用props對象中的屬性來動(dòng)態(tài)展示頁面內(nèi)容。

類方式組件

類方式組件是 React 中更為傳統(tǒng)和強(qiáng)大的定義組件的方式。我們可以使用類來定義一個(gè)組件,這個(gè)類繼承React.Component,并且實(shí)現(xiàn)一個(gè)render方法來返回React元素。

下面是一個(gè)簡單的類方式組件的示例代碼:

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

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

在上面的代碼中,我們定義了一個(gè)名為Welcome的類組件,它繼承了React.Component,然后實(shí)現(xiàn)了一個(gè)render方法來描述組件的展示內(nèi)容。在render方法中,我們可以通過this.props來獲取傳入的屬性,并使用它們來動(dòng)態(tài)展示內(nèi)容。

無論是函數(shù)方式還是類方式,組件都是一個(gè)接受props參數(shù)并返回React元素的函數(shù)或類。它們可以根據(jù)props的不同來靈活地展示不同的內(nèi)容,從而實(shí)現(xiàn)頁面的組件化和重用。

快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript

三.事件

React中的事件處理與DOM元素的事件處理非常相似,但有一些語法上的不同之處。React使用小駝峰式(camelCase)的命名方式來定義事件,并需要傳入一個(gè)函數(shù)作為事件處理函數(shù),而不是一個(gè)字符串。這樣做可以確保事件處理函數(shù)在React組件中正確地綁定和執(zhí)行。

React處理點(diǎn)擊事件

下面是一個(gè)使用React處理點(diǎn)擊事件的示例代碼:

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'));

在上面的代碼中,我們創(chuàng)建了一個(gè)Button組件,并在組件的render方法中返回一個(gè) <button> 元素。在 <button>
元素上,我們通過onClick屬性將一個(gè)函數(shù) this.handleClick 作為點(diǎn)擊事件的處理函數(shù)。

當(dāng)按鈕被點(diǎn)擊時(shí),事件處理函數(shù) handleClick 會被調(diào)用,并輸出一個(gè)日志消息。

需要注意的是,在React中,事件處理函數(shù)會自動(dòng)綁定到組件實(shí)例上。所以在事件處理函數(shù)中可以使用 this 來引用組件實(shí)例。

另外還有一種使用箭頭函數(shù)的方式,在事件處理函數(shù)中訪問組件實(shí)例。

箭頭函數(shù)

下面是一個(gè)使用箭頭函數(shù)的事件處理的示例代碼:

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'));

在上面的代碼中,我們使用了類屬性的方式去定義事件處理函數(shù),這樣做可以確保箭頭函數(shù)內(nèi)部的 this 與組件實(shí)例保持一致。

總結(jié)一下,React中的事件處理與DOM元素的事件處理語法上有一些區(qū)別,但整體思想非常相似。我們可以通過使用小駝峰式的命名方式和傳入函數(shù)作為事件處理函數(shù),來實(shí)現(xiàn)在React組件中處理各種用戶交互的事件。

小結(jié)

在本篇文章中,我們首先介紹了React的概述,它是一個(gè)用于構(gòu)建用戶界面的JavaScript庫。我們還介紹了使用腳本方式和腳手架方式來安裝和運(yùn)行React的方法。

其次,我們討論了React組件的概念和兩種定義組件的方式:函數(shù)方式和類方式。函數(shù)方式是React16.8版本之后新增的語法,它更為簡單和輕量級。而類方式是React中傳統(tǒng)和強(qiáng)大的定義組件的方式,它繼承React.Component并實(shí)現(xiàn)render方法來描述組件的展示內(nèi)容。

最后,我們學(xué)習(xí)了React中處理事件的方法。React的事件處理與DOM元素的事件處理相似,但有一些語法上的不同。React事件的命名采用小駝峰式,需要傳入一個(gè)函數(shù)作為事件處理函數(shù)。
快速上手React:從概述到組件與事件處理,React從入門到精通,全部文章,react.js,前端,前端框架,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-645552.html

到了這里,關(guān)于快速上手React:從概述到組件與事件處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python Qt6快速入門-事件處理

    Qt GUI應(yīng)用程序的核心是 QApplication 類。 每個(gè)GUI應(yīng)用程序都需要一個(gè)并且只有一個(gè) QApplication 對象才能運(yùn)行。 該對象包含應(yīng)用程序的事件循環(huán)——控制所有用戶與 GUI 交互的核心循環(huán)。

    2024年02月15日
    瀏覽(17)
  • Flink---1、概述、快速上手

    Flink---1、概述、快速上手

    Flink的官網(wǎng)主頁地址:https://flink.apache.org/ Flink的核心目標(biāo)是 “數(shù)據(jù)流上有狀態(tài)的計(jì)算” (Stateful Computations over Data Streams)。 具體說明:Apache Flink是一個(gè) “框架和分布式處理引擎” ,用于對 無界 和 有界數(shù)據(jù)流 進(jìn)行 有狀態(tài) 計(jì)算。 1.1.1 無界數(shù)據(jù)流 有定義流的開始,但是沒有定

    2024年02月09日
    瀏覽(18)
  • React學(xué)習(xí)——快速上手

    React學(xué)習(xí)——快速上手

    https://php.cn/faq/400956.html 1、可以手動(dòng)使用npm來安裝各種插件,來從頭到尾自己搭建環(huán)境。 如: 2、腳手架 create-react-app https://react.dev/learn/tutorial-tic-tac-toe 官方文檔的井字游戲案例 1、分解組件 2、構(gòu)建靜態(tài)版本 可以“自上而下”地構(gòu)建組件,從層次結(jié)構(gòu)中較高的組件開始構(gòu)建,

    2024年02月22日
    瀏覽(17)
  • 從Vue快速上手React

    還沒使用過React 的 vue同學(xué)可以通過這篇博客快速上手React。 Vue 數(shù)據(jù)讀寫: React 數(shù)據(jù)讀寫: Vue提供了 watch 幫忙監(jiān)聽數(shù)據(jù)變化 React提供了 useEffect 幫忙監(jiān)聽數(shù)據(jù)變化,但請注意,useEffect還有其他用途,并不局限于此 注意:vue中的數(shù)據(jù)監(jiān)聽watch可以直接獲取新舊值,而react中數(shù)據(jù)

    2024年02月13日
    瀏覽(24)
  • React Router 6 快速上手

    React Router 以三個(gè)不同的包發(fā)布到 npm 上,它們分別為: react-router: 路由的核心庫,提供了很多的:組件、鉤子。 react-router-dom: 包含react-router所有內(nèi)容,并添加一些專門用于 DOM 的組件,例如 BrowserRouter 等 。 react-router-native: 包括react-router所有內(nèi)容,并添加一些專門用于ReactNa

    2024年02月11日
    瀏覽(12)
  • OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

    OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

    OpenMV是一個(gè)國外的開源項(xiàng)目, 是一款低價(jià)、可擴(kuò)展、支持Python的機(jī)器視覺模塊 ,這個(gè)模塊的目標(biāo)是成為“機(jī)器視覺世界的Arduino “。 OpenMV的官網(wǎng):https://openmv.io/。 OpenMV是完全開源的硬件 ,意味著所有版本的OpenMV硬件,你都可以在github下載到開發(fā)板的原理圖、pcb,甚至是芯片

    2024年02月02日
    瀏覽(18)
  • 【Apache-Flink零基礎(chǔ)入門】「入門到精通系列」手把手+零基礎(chǔ)帶你玩轉(zhuǎn)大數(shù)據(jù)流式處理引擎Flink(特點(diǎn)和優(yōu)勢分析+事件與時(shí)間維度分析)

    【Apache-Flink零基礎(chǔ)入門】「入門到精通系列」手把手+零基礎(chǔ)帶你玩轉(zhuǎn)大數(shù)據(jù)流式處理引擎Flink(特點(diǎn)和優(yōu)勢分析+事件與時(shí)間維度分析)

    本文介紹了Apache Flink的定義、架構(gòu)、基本原理,并辨析了大數(shù)據(jù)流計(jì)算相關(guān)的基本概念。同時(shí)回顧了大數(shù)據(jù)處理方式的歷史演進(jìn)以及有狀態(tài)的流式數(shù)據(jù)處理的原理。最后,分析了Apache Flink作為業(yè)界公認(rèn)為最好的流計(jì)算引擎之一所具備的天然優(yōu)勢,旨在幫助讀者更好地理解大數(shù)

    2024年02月03日
    瀏覽(102)
  • 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境)】

    尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境)】

    視頻地址: 尚硅谷大數(shù)據(jù)Spark教程從入門到精通_嗶哩嗶哩_bilibili 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境、運(yùn)行架構(gòu))】 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記02【SparkCore(核心編程、案例實(shí)操)】 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記03【SparkSQL(概述、核心編程、

    2023年04月15日
    瀏覽(25)
  • 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境、運(yùn)行架構(gòu))】

    尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境、運(yùn)行架構(gòu))】

    視頻地址: 尚硅谷大數(shù)據(jù)Spark教程從入門到精通_嗶哩嗶哩_bilibili 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記01【Spark(概述、快速上手、運(yùn)行環(huán)境、運(yùn)行架構(gòu))】 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記02【SparkCore(核心編程、案例實(shí)操)】 尚硅谷大數(shù)據(jù)技術(shù)Spark教程-筆記03【SparkSQL(概述、核心編程、

    2023年04月21日
    瀏覽(25)
  • 尚硅谷大數(shù)據(jù)Flink1.17實(shí)戰(zhàn)教程-筆記01【Flink概述、Flink快速上手】

    尚硅谷大數(shù)據(jù)Flink1.17實(shí)戰(zhàn)教程-筆記01【Flink概述、Flink快速上手】

    尚硅谷大數(shù)據(jù)技術(shù)-教程-學(xué)習(xí)路線-筆記匯總表【課程資料下載】 視頻地址:尚硅谷大數(shù)據(jù)Flink1.17實(shí)戰(zhàn)教程從入門到精通_嗶哩嗶哩_bilibili 尚硅谷大數(shù)據(jù)Flink1.17實(shí)戰(zhàn)教程-筆記01【Flink概述、Flink快速上手】 尚硅谷大數(shù)據(jù)Flink1.17實(shí)戰(zhàn)教程-筆記02【Flink部署】 尚硅谷大數(shù)據(jù)Flink1.17實(shí)

    2024年02月09日
    瀏覽(51)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包