『React-Demos』Demo-02:JSX语法初步了解

引言

  • 通过上一节的学习,对于react也有了一个基础的认识,那么这节我们将通过俩个demo讲解JSX语法
  • 让大家对于JSX有一个基础的认识和理解
  • React官网-JSX 简介

demo-02:JSX语法

  • 核心代码
    <body>
    <div id="test1"></div>
    <div id="test2"></div>
    <div>-------------------------分割线-----------------------</div>
    <div id="test3"></div>
    <script type="text/javascript">
      // 第一种方式:创建虚拟DOM对象
      const h1 = React.createElement(
        'h1',
        { id: 'myTitile', className: 'myClass' },
        'Hello h1标签'
      )
      // 将虚拟DOM对象渲染到页面指定容器中
      ReactDOM.render(h1, document.getElementById('test1'))
    
      // 用第一种创建方式,在h2标签中创建一个span标签
      const span = React.createElement('span', {}, '第一种方法创建span标签')
      const h2 = React.createElement(
        'h2',
        { id: 'myTitile', className: 'myClass' },
        span,
        span
      )
      // 将虚拟DOM对象渲染到页面指定容器中
      ReactDOM.render(h2, document.getElementById('test2'))
    </script>
    <script type="text/babel">
      // 第二种方式:创建虚拟DOM对象
      const h3 = (
        <h3 id="myTitle2" className="myClass2">
          <span>第二种方法创建span标签</span>
          <span>第二种方法创建span标签</span>
        </h3>
      )
      // 将虚拟DOM对象渲染到页面指定容器中
      ReactDOM.render(h3, document.getElementById('test3'))
    
      const id = 'myTitle3';
      const className = 'myClass3';
      const content = '我也是第二种方法创建span标签';
      const myH1 = <h1 id={id} className={className}>
    	<span>{content}</span>
    	<span>我也是第二种方法创建span标签</span>
    	</h1>
     ReactDOM.render(myH1, document.getElementById('test4'))
    </script>
    </body>
    
  • 小结:
    • 第一种方式使用的是 纯JS语法,不用设置type="text/babel"浏览器自动识别,但是缺点也很明显,使用麻烦
    • 第二种方式使用的是JSX语法,需要设置type="text/babel"浏览器才可以识别,使用方便,推荐使用(react中也是使用这种语法)
    • JSX语法:
      1. <开头代码,如果是html同名标签,会解析成HTML同名元素,如果不是,就会当做组件解析
      2. 开头代码,里面内容会当做js代码解析
      3. JSX语法作用:用来创建虚拟DOM对象

总结:

  • 多敲、多记、多查(面向谷歌编程)
  • 原创不易,希望可以帮助到可爱的你,喜欢的话请对我素质三连吧,☛点赞、✌关注、转发✍
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
{ type: "searchSelect", placeholder: "签约机构", valueName: 'signOrganId', optionName: "label", searchItemName: "label", optionId: "key", searchApi:commonService.orgPageList({}).then(res=>{ const {retData}=res retData.map(item=>{ return {key: item.id, label: item.organName, value: item.id,} }) }) }, 分析一下此段代码的报错 汉语解释index.jsx:55 Uncaught TypeError: item.searchApi is not a function at searchQuery (index.jsx:55:1) at onFocus (index.jsx:129:1) at onContainerFocus (BaseSelect.js:326:1) at HTMLUnknownElement.callCallback (react-dom.development.js:188:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:237:1) at invokeGuardedCallback (react-dom.development.js:292:1) at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:306:1) at executeDispatch (react-dom.development.js:389:1) at executeDispatchesInOrder (react-dom.development.js:414:1) at executeDispatchesAndRelease (react-dom.development.js:3278:1) at executeDispatchesAndReleaseTopLevel (react-dom.development.js:3287:1) at forEachAccumulated (react-dom.development.js:3259:1) at runEventsInBatch (react-dom.development.js:3304:1) at runExtractedPluginEventsInBatch (react-dom.development.js:3514:1) at handleTopLevel (react-dom.development.js:3558:1) at batchedEventUpdates$1 (react-dom.development.js:21871:1) at batchedEventUpdates (react-dom.development.js:795:1) at dispatchEventForLegacyPluginEventSystem (react-dom.development.js:3568:1) at attemptToDispatchEvent (react-dom.development.js:4267:1) at dispatchEvent (react-dom.development.js:4189:1) at unstable_runWithPriority (scheduler.development.js:653:1) at runWithPriority$1 (react-dom.development.js:11039:1) at discreteUpdates$1 (react-dom.development.js:21887:1) at discreteUpdates (react-dom.development.js:806:1) at dispatchDiscreteEvent (react-dom.development.js:4168:1)
最新发布
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值