首页 > 其他分享 >React之JSX

React之JSX

时间:2024-10-13 13:18:31浏览次数:16  
标签: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学习起始
    一、准备工作react是一个用于构建用户界面的JavaScript库脚手架安装:npxcreate-react-app(脚手架名称)react-basic(包名)--------等同于maven构建项目的性质启动项目:yarnstartornpmstart注:全局安装缺点:太久没初始化项目,就得重新装 二、基本使用1导包2创建元素3渲染元......