【React】JSX基礎

一、簡介

JSX是JavaScript XML的縮寫,它是一種在JavaScript代碼中編寫類似HTML模板的結構的方法。JSX是React框架中構建用戶界面(UI)的核心方式之一。

1.什么是JSX

JSX允許開發者使用類似HTML的聲明式模板來構建組件。它結合了HTML的直觀性和JavaScript的編程能力,使得開發者能夠更高效地構建動態用戶界面。

const message = 'this is message';function App() {return (<div><h1>this is title</h1>{message}</div>);
}

二、JSX高頻場景

1.JS表達式

在JSX中,可以使用大括號{}來嵌入JavaScript表達式,包括變量、函數調用、方法調用等。

  • 使用引號傳遞字符串。
  • 使用JavaScript變量。
  • 函數調用和方法調用。
  • 使用JavaScript對象。

需要注意的是,某些JavaScript語句,如ifswitch、變量聲明等,不屬于表達式,不能直接在JSX中使用。

const message = 'this is message';
function getAge() { return 18; }function App() {return (<div><h1>this is title</h1>{'this is str'}{message}{getAge()}</div>);
}

2.列表渲染

在JSX中,可以使用JavaScript的map方法來實現列表的渲染。

const list = [{ id: 1001, name: 'Vue' },{ id: 1002, name: 'React' },{ id: 1003, name: 'Angular' }
];function App() {return (<div><ul>{list.map(item => <li key={item.id}>{item.name}</li>)}</ul></div>);
}

3.條件渲染

在React中,可以使用邏輯與運算符&&或三元表達式?:來實現條件渲染。

const flag = true;
const loading = false;function App() {return (<>{flag && <span>this is span</span>}{loading ? <span>loading...</span> : <span>this is span</span>}</>);
}

4.復雜條件渲染

對于更復雜的條件渲染,可以結合自定義函數和判斷語句來實現。

const type = 1; // 0, 1, or 3function getArticleJSX() {if (type === 0) {return <div>無圖模式模版</div>;} else if (type === 1) {return <div>單圖模式模版</div>;} else if (type === 3) {return <div>三圖模式模版</div>;}
}function App() {return (<>{getArticleJSX()}</>);
}

5.結語

JSX是React開發中不可或缺的一部分,它提供了一種強大而靈活的方式來構建用戶界面。通過掌握JSX的基礎知識和高頻使用場景,開發者可以更高效地構建動態且響應式的Web應用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/46228.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/46228.shtml
英文地址,請注明出處:http://en.pswp.cn/web/46228.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TDesign組件庫日常應用的一些注意事項

【前言】Element&#xff08;餓了么開源組件庫&#xff09;在國內使用的普及率和覆蓋率高于TDesign-vue&#xff08;騰訊開源組件庫&#xff09;&#xff0c;這也導致日常開發遇到組件使用上的疑惑時&#xff0c;網上幾乎搜索不到其文章解決方案&#xff0c;只能深挖官方文檔或…

2024.7.17 ABAP面試題目總結

2024.7.17 用的SAP什么平臺&#xff0c;S4/HANA嗎&#xff0c;有用過ECC嗎 S4/HANA&#xff0c;沒用過ECC 會不會CDS VIEW 不會 會不會FIORI 不會 銀企直連里面的邏輯了解不 不了解&#xff0c;做過&#xff0c;但是只能算很簡單的修改 SAP做增強&#xff0c;如何創建…

網絡安全-網絡安全及其防護措施7

31.防病毒和惡意軟件保護 防病毒和惡意軟件防護的定義和作用 防病毒和惡意軟件防護是一種保護計算機和網絡免受病毒、木馬、間諜軟件等惡意軟件侵害的安全措施。通過防護措施&#xff0c;可以檢測、阻止和清除惡意軟件&#xff0c;確保系統和數據的安全。其主要作用包括&…

C++右值引用和移動語義

目錄 概念&#xff1a; 左值引用和右值引用 概念&#xff1a; 注意&#xff1a; 左值引用的意義 作函數參數 函數引用返回 右值引用的意義 誕生背景 移動構造 移動賦值 其他應用 萬能引用和完美轉發 默認的移動構造和移動賦值 概念&#xff1a; 左值&#xff1a;顧…

List數據的幾種數據輸出方式

一、問題引入 在Java中&#xff0c;查詢List集合是一項常見的任務&#xff0c;它可以通過多種方式實現&#xff0c;以滿足不同的需求。下面&#xff0c;List數據的幾種數據輸出方式。 二、實例 /*** 查詢所有用戶信息* return*/ List<User> getAllUser(); <select…

Git【撤銷遠程提交記錄】

在實際開發中&#xff0c;你是否遇到過錯誤的提交了代碼&#xff0c;想要刪掉本次提交記錄的情況&#xff0c;你可以按照如下方法實現。 1、使用 git revert 如果你想要保留歷史記錄&#xff0c;并且對遠程倉庫其他使用者的影響最小&#xff0c;你可以使用 git revert 命令。這…

conda 使用

首先要安裝Miniconda的環境 下面是一下命令關于如何使用conda 查看當前環境列表&#xff1a; conda env list 創建環境不指定路徑&#xff1a; conda create --name p38 python3.8 創建新環境并指定路徑&#xff1a; conda create --prefix /data/p38 python3.8激活新環境&a…

VulnHub:CK00

靶場搭建 靶機下載地址&#xff1a;CK: 00 ~ VulnHub 下載后&#xff0c;在vmware中打開靶機。 修改網絡配置為NAT 處理器修改為2 啟動靶機 靶機ip掃描不到的解決辦法 靶機開機時一直按shift或者esc直到進入GRUB界面。 按e進入編輯模式&#xff0c;找到ro&#xff0c;修…

Kubernetes網絡性能測試-calico插件環境

Kubernetes 網絡性能測試-calico插件環境 本次主要針對calico網絡插件k8s集群的網絡性能進行摸底及測試方法探索實踐。 1. 測試準備 1.1 測試環境 測試環境為VMware Workstation虛擬機搭建的一套K8S環境&#xff0c;版本為1.28.2&#xff0c;網絡插件使用calico&#xff0c…

6Python的Pandas:數據讀取與輸出

Pandas是一個強大的Python數據分析庫&#xff0c;提供了讀取和輸出數據的多種功能。以下是一些常見的數據讀取與輸出方法&#xff1a; 1. 讀取CSV 讀取數據 從CSV文件讀取數據 import pandas as pd# 讀取CSV文件 df pd.read_csv(file_path.csv) print(df.head())從Excel文…

Flutter 狀態管理調研總結

一, 候選狀態管理組件簡介 0. flutter_hooks 一個 React 鉤子在 Flutter 上的實現&#xff1a;Making Sense of React Hooks 鉤子是一種用來管理 Widget 生命周期的新對象&#xff0c;以減少重復代碼、增加組件間復用性&#xff0c;允許將視圖邏輯提取到通用的用例中并重用&…

思路|如何利用oneNote釣魚?

本文僅用于技術研究學習&#xff0c;請遵守相關法律&#xff0c;禁止使用本文所提及的相關技術開展非法攻擊行為&#xff0c;由于傳播、利用本文所提供的信息而造成任何不良后果及損失&#xff0c;與本賬號及作者無關。 本文來源無問社區&#xff0c;更多實戰內容&#xff0c;…

[python]pycharm設置清華源

國內鏡像源有以下幾個&#xff0c;因為都是國內的&#xff0c;基本速度差不了太多。 清華&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http://mirrors.aliyun.com/pypi/simple/ 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣&…

針對【module_or_function】的單元測試,全面覆蓋可能的【edge_cases】

針對【module_or_function】的單元測試&#xff0c;全面覆蓋可能的【edge_cases】 編寫單元測試是為了驗證代碼模塊或函數的正確性和魯棒性。對于module_or_function&#xff0c;首先需要確定這個模塊或函數的具體功能和預期輸入范圍。一個好的單元測試應該包括以下幾個步驟&a…

高并發服務器-使用多線程(Multi-Thread)實現【C語言】

在上期的socket套接字的使用詳解中&#xff08;socket套接字的使用詳解&#xff09;最后實現的TCP服務器只能處理一個客戶端的請求發送&#xff0c;當有其他客戶端請求連接時會被阻塞。為了能同時處理多個客戶端的連接請求&#xff0c;本期使用多線程的方式來解決。 程序流程 …

爬蟲案例(讀書網)(下)

上篇鏈接&#xff1a; CSDN-讀書網https://mp.csdn.net/mp_blog/creation/editor/139306808 可以看見基本的全部信息&#xff1a;如(author、bookname、link.....) 寫下代碼如下&#xff1a; import requests from bs4 import BeautifulSoup from lxml import etreeheaders{…

scottplot5 中 使用signalXY圖,如何更新數據?

&#x1f3c6;本文收錄于《CSDN問答解答》專欄&#xff0c;主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案&#xff0c;希望能夠助你一臂之力&#xff0c;幫你早日登頂實現財富自由&#x1f680;&#xff1b;同時&#xff0c;歡迎大家關注&&收藏&…

總部下達任務時,如何保證員工的執行力?

執行力是個體基于戰略目標&#xff0c;有效整合利用資源&#xff0c;保質保量完成預定目標的操作能力&#xff0c;員工執行力的高低是企業完成效益、成果轉化的關鍵。執行力包含完成任務的意愿、完成能力、完成程度三個維度&#xff0c;其中意愿是基礎和出發點&#xff0c;能力…

物聯網與通信技術

查了很多資料&#xff0c;也夾雜著一些自己的見解。此篇文章僅探討三個問題&#xff1a;物聯網與通信技術的關系&#xff1b;5G為物聯網帶來了什么&#xff0c;物聯網真的需要5G嗎&#xff1b;物聯網發展的現實問題。 1、物聯網與通信技術的關系 最近幾年&#xff0c;物聯網的…

Apache POI 使用Java處理Excel數據 進階

1.POI入門教程鏈接 http://t.csdnimg.cn/Axn4Phttp://t.csdnimg.cn/Axn4P建議&#xff1a;從入門看起會更好理解POI對Excel數據的使用和處理 記得引入依賴&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactI…