在React中使用v-if语法(基于babel)

众所周知在React中并没有像Vue那么多的API,所有功能都要依托于原生JS去实现。这一篇我给大家分享两种封装v-if的方法

  • v-for正在撸...敬请期待
  • 通过React来封装Condition组件
    • 简单封装了React组件。优点是可读性高;缺点是使用不方便
        import React, { Component } from 'react';
        import PropTypes from 'prop-types';
        
        class Condition extends Component {
          render() {
            return this.props['r-if']? this.props.children : null;
          }
          // 核心思想是通过props来控制组件渲染,为true时渲染children
        }
        
        Render.propTypes = {
          ['r-if']: PropTypes.bool
        };
        
        export default Render;
    复制代码
        //使用
        <Condition r-if = { this.state.show }>
          <div>hello</div>
        </Condition>
    复制代码
  • 通过babel中AST来修改element
    • 现代框架(vue,react)渲染阶段:各种loader将vue/jsx文件转换为j

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值