首页 > 其他分享 >react JSX

react JSX

时间:2022-12-02 04:22:05浏览次数:77  
标签:const title rE1 mark react return JSX

JSX到底是什么?

  1. 一种标签语法,hs进行的语法拓展
  2. 不是字符串,不是HTML标签
  3. 描述UI呈现与交互的直观的形式
  4. 生成react元素

createElement与jsx对比

const rE1 = <h1>This is  my first jsx experience </h1>;;

  
  

const rE1 =React.createElement('h1',{

    className:'title'

  

},'This is my first JSX experience');

ReactDOM.render(

    rE1,

    document.getElementById('app')

);

jsx插值表达式

JSX遵循js的命名规范,一般使用
camelCase小驼峰,class=>className tabIndex =>tabIndex

{/*插值表达式*/
this.state.openStatus?'打开装填':'关闭状态'
}

为什么React不把视图表盒逻辑分开呢?

  1. 渲染和标签是有逻辑耦合
  2. 即使是这样的耦合,也能实现关注点分离

JSX插值表达式
表达式一切有效的(符合JS编程逻辑的)
表达式(title)JSX被编译以后->React元素->普通的对象

const rE1 =<h1 className ="title" >This is a title part </h1>
const rE12 = React.createElement('h1',{
className: 'title'
},'This is a title part')
console.log(rE1);

var mark = 'title';
function selectText(mark){
switch(mark){
case 'title':
   return 'This is a title';
default:
  return 'This is a paragraph'
}
}
function getText(mark){
if(mark === 'title'){
    return <h1 className={mark}>
    {selectText(mark)}
    </h1>
}
return <p> {selectText(mark)} </p>
}
console.log(getText('title'));
var  arr = {

{
id:1,
name:"张三"

},
{
id:2,
name:"李四"
},
{
id:3,
name:"王五"
}
}
function setList (){
   return{
   <ul>
   {
    arr.map((item)=>{
    return(
    <l key={ item.id}>
    <span> {item.id}</span>
    <p> {item.name}</p>
    </li>
    )})
   }
   </ul>
   }
}
const rE1 =setList();
ReactDOM.render{
rE1,
document.getElemnentById('app')

}
//单标签必须要闭合
const rE1 = <img src="" />;
//render之前
//所有约JSX都会转成字符串
// 所有输入的内容都会进行转义

标签:const,title,rE1,mark,react,return,JSX
From: https://www.cnblogs.com/czh0316/p/16943316.html

相关文章

  • GREAD: Graph Neural Reaction-Diffusion Equations
    目录概符号说明基本框架ChoiJ.,HongS.,ParkN.andChoS.GREAD:graphneuralreaction-diffusionequations.arXivpreprintarXiv:arXiv:2211.14208概作者......
  • react-native run-android Starting: Intent Error type 3 Error: Activity class doe
    react-nativerun-androidStarting:IntentErrortype3Error:Activityclassdoesnotexist  使用”react-nativerun-android”命令运行android应用时,如果常......
  • react中setState为什么设计成异步更新
    1.可以显著提升性能:因为每次调用setState进行更新,都会调用render函数,导致界面也会频繁更新,因此最好是获取到多个更新后,再进行批量更新。2.可以使state和props保持同步......
  • React Webpack copy文件到build路径
    目的:webpack打包时将资源文件copy到指定路径1:安装依赖copy-webpack-plugin、customize-cra、react-app-rewired2:修改script,使用react-app-rewired命令"build:copy":"......
  • React useRef
    useRef应用场景:绑在DOM上,绑在组件上,保存临时变量永远不丢失举个栗子importReact,{useState,useRef}from'react'exportdefaultfunctionApp(){const[......
  • React Server Component: 混合式擦染
    ReactServerComponent:混合式擦染原创字节跳动终端技术工作日志前天16:29阅读数20本文被收录于专区大前端进入专区参与更多专题讨论 ......
  • React 生命周期
    本文基于react18当组件实例被创建并插入DOM中时,其生命周期调用顺序如下constructor构造getDerivedStateFromProps从props中获取staterender渲染componentDi......
  • 第五章、react高级
    目录十一、AntDesign组件库1、react中添加class-使用第三方库classnames2、antdesign简介3、认识craco4、自定义主题5、配置别名6、案例十二、axios库的使用1、axios的基本......
  • React学习笔记,文档中的大部分代码都有注释
    React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTMLDOM元素、也可以传递动态变量、甚至是可交互的应用组件。1.使用(......
  • React Native 单位详细说明
    之前在ReactNative笔记(二)中总结了一点,RN长宽单位默认对应DP:所谓与密度无关就是密度变化不引起物理尺寸的变化,这一点DP与RN官方说的一致.现在想想,也就是说1DP在物理尺寸上......