3.JSX的使用

jsx:JavaScript xml

说明:render方法根据jsx模板生成虚拟DOM,新旧虚拟DOM通过diff算法更新虚拟DOM,然后渲染成真实DOM。

jsx细节:

  • 文件名改为jsx,webpack会当成js打包
  • 使用{}插入js表达式(有执行结果)
  • 不要使用html或body作为根容器
  • render只能接收一个根节点,可以使用Fragement<></>包裹,空文档标记标签,渲染时不会占用文档流层级。

 jsx具体使用

  • {}内容:
  1.   number/string正常渲染,
  2. boolean/null/undefined/symbol/bigint渲染内容为空,
  3. 不支持渲染普通对象,
  4. 数组时将数组的每一项拿出来渲染,数组中有对象会报错,
  5. 函数对象不支持,应该使用<Fn/>。
  • 添加样式
  1. style={{}}
  2. style={{display:flag?'block':'none'}}
  3. className=''classname''
  4. 多个class:className={[''classname1 '',''classname2 '',item.class].join()}
  • 遍历渲染
  1. 数组的map方法
  2. filter方法
  3. some方法
  4. find方法

jsx底层处理机制

第一步:把编写的jsx语法,编译为虚拟DOM对象virtualDOM

第二步:把构建的虚拟DOM渲染为真实DOM

             root.render()接收jsx生成的虚拟DOM,然后渲染。

           (vue中是render生成虚拟DOM)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值