学习React---与Vue用法对比一(基本介绍)

介绍

Vue

Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动

React

React 是一个用于构建用户界面的 JavaScript 库

BootCDN

BootCDN 是 猫云 联合 Bootstrap 中文网 共同支持并维护的前端开源项目免费 CDN 服务,致力于为 Bootstrap、jQuery、React、Vue.js 一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务。BootCDN 所收录的开源项目主要同步于 cdnjs 开源项目仓库

注:以下所有引入的js都从BootCDN中获取

Vue需要引入的文件

// vue核心文件
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.js"></script>

React需要引入的文件

// react核心文件
<script src="https://cdn.bootcdn.net/ajax/libs/react/17.0.1/umd/react.development.js"></script>
// react渲染dom核心文件
<script src="https://cdn.bootcdn.net/ajax/libs/react-dom/17.0.1/umd/react-dom.development.js"></script>
// 用来编译jsx语法
<script src="https://cdn.bootcdn.net/ajax/libs/babel-core/5.8.24/browser.js"></script>

这里记录一下遇到的几个问题

  • vue版本选择3.0以上版本会出现以下问题(暂时不深究),选择2.0版本即可
    在这里插入图片描述

  • babel版本选择最新版本会出现以下问题,babel的版本不能太高
    在这里插入图片描述

  • React引入react.js与react-dom.js的顺序不能颠倒
    在这里插入图片描述

  • js文件的选择说明(这里选择umd版本通过标签直接引入)
    umd:UMD 版本可以通过 <script> 标签直接用在浏览器中
    CommonJS/cjs:cjs版本用来配合老的打包工具比如 Browserify 或 webpack 1
    ES Module/esm:esm版本为webpack 2 或 Rollup 提供的现代打包工具

1.Vue的写法

// 准备一个节点
<div id="vue">你好,vue</div>

<script>
     new Vue({          //  每一个vue组件都是一个vue实例
         el:'#vue'         // 指定vue实例绑定的dom元素

     })
</script>

2.React的写法

// 准备一个节点
<div id="react"></div>

<script type="text/babel">      // 注意:type="text/babel",需要使用到babel解析成浏览器能识别的代码
    // 类组件写法
    class ReactDemo extends React.Component{       // 每一个react组件都是一个继承React.Component类的类
        render(){                                  // render函数指定该组件的渲染内容,jsx语法
            return (                         
                <div>你好,react</div>  
            )
        }
    }
    // 函数式组件写法
    function ReactDemo1() {
        return (
            <div>你好,react</div>
        )
    }
    // 通过ReactDOM的render将该组件渲染到获取的节点内,替换该节点下面的内容
    ReactDOM.render(<ReactDemo/>,document.getElementById('react')); 
    // ReactDOM.render(<ReactDemo1/>,document.getElementById('react'));
</script>

需要注意:
1.react组件需要首字母大写,因为react组件是以html标签的格式,会与其他html标签混在一起,用于区分,小写的标签一般默认为html标签而不是React组件
在这里插入图片描述
2.jsx语法实际上执行的是React.createElement方法返回的是一个js对象(虚拟DOM)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值