首页 > 其他分享 >React之JSX

React之JSX

时间:2024-10-13 13:18:31浏览次数:3  
标签:function return 渲染 JS React const JSX

JSX并不是标准的JS语法,它是 JS的语法扩展,浏览器本身不能识别,需要通过解析工具做解析之后才能在浏览器中使用

JSX高频场景-JS表达式

在JSX中可以通过 大括号语法{} 识别JavaScript中的表达式,比如常见的变量、函数调用、方法调用等等

  1. 使用引号传递字符串

  2. 使用JS变量

  3. 函数调用和方法调用

  4. 使用JavaScript对象 :::warning 注意:if语句、switch语句、变量声明不属于表达式,不能出现在{}中 :::

const message = 'this is message'

function getAge(){
  return 19
}

function App(){
  return (
    <div>
      <h1>this is title</h1>
      {/* 字符串识别 */}
      {'this is str'}
      {/* 变量识别 */}
      {message}
      {/* 变量识别 */}
      {message}
      {/* 函数调用 渲染为函数的返回值 */}
      {getAge()}
    </div>
  )
}

JSX高频场景-列表渲染

在JSX中可以使用原生js种的map方法 实现列表渲染

const list = [
  {id:1001, name:'Vue'},
  {id:1002, name: 'React'},
  {id:1003, name: 'Angular'}
]

function App(){
  return (
    <ul>
      {list.map(item=><li key={item.id}>{item}</li>)}
    </ul>
  )
}

JSX高频场景-条件渲染

在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>}
    </>
  )
}

JSX高频场景-复杂条件渲染

需求:列表中需要根据文章的状态适配

解决方案:自定义函数 + 判断语句

const type = 1  // 0|1|3

function getArticleJSX(){
  if(type === 0){
    return <div>无图模式模版</div>
  }else if(type === 1){
    return <div>单图模式模版</div>
  }else(type === 3){
    return <div>三图模式模版</div>
  }
}

function App(){
  return (
    <>
      { getArticleJSX() }
    </>
  )
}

标签:function,return,渲染,JS,React,const,JSX
From: https://blog.csdn.net/m0_74268056/article/details/142897253

相关文章

  • react事件命名
    exportdefaultfunctionButton(){functionhandleClick(){alert('你点击了我!');}return(<buttononClick={handleClick}>点我</button>);}按照惯例,通常将事件处理程序命名为handle,后接事件名。你会经常看到onClick={handleClick},on......
  • 使用taro和react语言实现:微信小程序,地图中展示气泡,并在气泡中实现倒计时功能
    使用Taro和React来实现微信小程序中的地图气泡倒计时功能,你需要首先确保已经安装了TaroCLI并创建了一个Taro项目。接下来,我们将逐步实现这个功能。1.初始化Taro项目如果你还没有安装TaroCLI,可以使用npm或yarn进行安装:npminstall-g@tarojs/cli#或......
  • React如何进行性能优化-方式、原理、示例
    目录一、使用shouldComponentUpdate和React.memo1.使用shouldComponentUpdate(类组件)2.使用React.memo(函数组件)二、使用useMemo三、懒加载四、避免使用匿名函数五、避免使用内联对象六、列表使用key属性一、使用shouldComponentUpdate和React.memo1.使用shouldC......
  • React中useEffect钩子
    副作用:渲染以外的操作:像后端获取数据、操作DOM参数:副作用方法、依赖(改变时重新执行)调用时间:渲染JSX之后/依赖改变useEffect 是React中的一个Hook,用于在函数组件中执行副作用操作。副作用操作包括数据获取、订阅或手动更改React组件中的DOM等。useEffect 使得在函数......
  • ant design react 表单设置初始值及更新表单数据
    importReactfrom'react';import'./index.css';import{Button,Form,Input}from'antd';constApp=()=>{const[form]=Form.useForm();constupdateValue=()=>{//假设我们要更新的字段是'username'......
  • react中CodeMirror (代码编辑器)
    ​ 前言:实现一个在react项目中页面展示代码编辑器的效果。codemirror:使用JavaScript为浏览器实现的多功能文本编辑器。codemirror作用:专门用于编辑代码,并带有实现更高级编辑功能的多种语言模式和附加组件实现效果​编辑1.首先从react-codemirror2中引入Codemir......
  • react 路由
    安装ReactRouternpminstallreact-router-dom在入口文件main.jsx配置首先在react项目的入口文件index.js文件中,使用BrowserRouter将包裹起来import{StrictMode}from"react";import{BrowserRouter}from"react-router-dom";import{createRoot}from"......
  • 如何将React项目,部署到Web服务器的Tomcat 上
    将React应用部署到Tomcat服务器上通常需要将其构建为静态文件,然后将这些文件放入Tomcat的webapps目录。以下是具体步骤:步骤指南1.构建React应用首先,你需要在本地构建你的React应用。npmrunbuild这会在项目根目录下生成一个build文件夹,里面包含了优化......
  • React Native性能剖析:Flipper工具使用
    文章目录Flipper工具简介安装Flipper连接Flipper使用Flipper分析性能ReactNative插件Network插件Layout插件HeapGraph插件GraphQL插件实战案例分析案例1:性能瓶颈定位案例2:内存泄漏检测优化代码再次使用Flipper分析进阶技巧性能优化技巧内存优化技巧......
  • React学习起始
    一、准备工作react是一个用于构建用户界面的JavaScript库脚手架安装:npxcreate-react-app(脚手架名称)react-basic(包名)--------等同于maven构建项目的性质启动项目:yarnstartornpmstart注:全局安装缺点:太久没初始化项目,就得重新装 二、基本使用1导包2创建元素3渲染元......