React基础知识及示例(一)

react 是什么

react是用来描述用户界面的js库 轻量级的视图层框架 facebook 15.6/16

react 借鉴的既不是mvm,也不是mvc,顶多算个“v”(view)

angular 借鉴的是mvc

vue 借鉴的是mvvm

vue和react各有优缺点:

vue相比起来写起来比较方便,因为一些功能vue上已经规定好了,但是知识点会特别特别多

react的灵活性比较大,需要记得知识点也相对来说较少。

版本问题:

react的官网:react官网链接地址

注意:react官网上,英文官方文档和中文官方文档的版务本号是不同的。

中文:v16.12.0

英文:v16.12.0

注意:15版本和16版本是一个重要的分界线。(2017年用的是15版本,16.9的版本是在2019年更新的)学习15.6和最新版

开始学习react

++react和vue的写法有点类似++

react很多写法偏向于原生js

使用react,要引入三个文件。(和vue不同,vue中只需要引入一个文件)

react既能写网页,也能写app

例子如下:

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../base/react.min.js"></script>
  <!--相当于vue.js 目的是提供React对象 -->
  <script src="../base/react-dom.min.js"></script>
  <!-- 提供了ReactDOM 对象 
  rn  react-native  (native意思是原生)
  网页: B(browser)/S(server) webapp  操作dom bom  
  react基本语法 + react-dom  可以写网页
  app: C(client)/s(Server)  操作手机硬件以及ui
  react基本语法 + react-native  可以写app
  -->
  <script src="../base/browser.min.js"></script>
  <!-- 帮助浏览器解析jsx语法糖 -->
</head>
<body>
<!--创建一个元素-->
  <div id="app">

  </div>
<script type="text/babel">
/*
vue中先创建实例,然后组件继承自实例
react中没有实例,直接创建组件

1. 创建组件 15.6的写法   React.createClass
2. 不管在哪,组件是虚拟dom 
3. 将虚拟dom通过 ReactDOM.render(参数1:组件标签,参数2:要挂载的元素)
4. 在react中组件名首字母必须大写 
*/
let Component = React.createClass({
    
  render() {
       //render是渲染的意思,是固定的
    // render的函数内部 返回jsx
    return (
      <h1> 你好世界</h1>
    )
    
  }
})
// 将组件的虚拟dom挂载到真实dom上
ReactDOM.render(<Component/>,document.getElementById('app'))
</script>
</body>

jsx 语法糖 jsx:javascript xhtml

功能:用jsx 来描述组件的虚拟dom

class 也是语法糖

<div id="test" class="hehe">
    <P id="p">
        <div ></div>
    </p>
    <span>呵呵</span>
</div>
<!--以上写法就叫做jsx语法糖-->

<!--这里是不用语法糖的写法-->
React.createElemet('div',{id:"test",className:"hehe"},[
  React.crateElment('p',{id:p},[
    React.crateElment('div',{id:p,text:"呵呵"},[])
  ])
   React.crateElment('span',{id:p,text:"呵呵"},[])
])

xhtml:就是严格模式下的html

  1. 必须只有一个根元素
  2. 标签必须闭合
html代码不能直接写在js中

<body>
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值