比较了半天VUE、Angular、React,最终选择React,下面从几个例子开始React的学习,先从单个的index.html,引用react.js开始

一.最简单的纯JS的代码

<!DOCTYPE html>
<html>
<head>
<title>react直接引用js</title>
<script src="https://cdn.staticfile.org/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/javascript">
window.onload = function() {
var h1 = React.createElement("h1", null, "hello REACT!");
ReactDOM.render(h1, document.getElementById("root"));
};
</script> </body>
</html>

二、使用JSX的语法

JSX是React提供的语法,React会把JSX编译成JS,这个编译器使用了一个组件babel

<!DOCTYPE html>
<html>
<head>
<title>react直接引用js</title>
<script src="https://cdn.staticfile.org/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
window.onload = function() {
ReactDOM.render(
<h1>Hello, REACT!</h1>,
document.getElementById("root")
);
};
</script>
</body>
</html>

三、通过组件的方式添加元素

<!DOCTYPE html>
<html>
<head>
<title>react直接引用js</title>
<script src="https://cdn.staticfile.org/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class Welcome extends React.Component{
render(){
return <h1>Hello, REACT!</h1>
}
} window.onload = function() {
ReactDOM.render(<Welcome />,
document.getElementById("root")
);
};
</script>
</body>
</html>

四、给组件添加属性功能

<!DOCTYPE html>
<html>
<head>
<title>react直接引用js</title>
<script src="https://cdn.staticfile.org/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class Welcome extends React.Component{
render(){
return <h1>Hello, {this.props.name}!</h1>
}
} window.onload = function() {
ReactDOM.render(<Welcome name='react16.3'/>,
document.getElementById("root")
);
};
</script>
</body>
</html>

react-01的更多相关文章

  1. [React] 01 - Intro: javaScript library for building user interfaces

    教学视频: http://www.php.cn/code/8217.html React 教程: http://www.runoob.com/react/react-tutorial.html 本篇是 ...

  2. [Full-stack] 快速上手开发 - React

    故事背景 [1] 博客笔记结合<React快速上手开发>再次系统地.全面地走一遍. [2] React JS Tutorials:包含了JS --> React --> Red ...

  3. [React] 08 - Tutorial: evolution of code-behind

    有了七篇基础学习,了解相关的知识体系,之后便是系统地再来一次. [React] 01 - Intro: javaScript library for building user interfaces ...

  4. [Code::Blocks] Install wxWidgets & openCV

    The open source, cross platform, free C++ IDE. Code::Blocks is a free C++ IDE built to meet the most ...

  5. Top 20 JavaScript Projects of 2017

    https://www.youtube.com/watch?v=SUMn8y3pi28 20. AngularJS 1 19. Passport 18. Pug 17. Socket.IO 16. J ...

  6. 本人SW知识体系导航 - Programming menu

    将感悟心得记于此,重启程序员模式. js, py, c++, java, php 融汇之全栈系列 [Full-stack] 快速上手开发 - React [Full-stack] 状态管理技巧 - R ...

  7. React 实践记录 01 组件开发入门

    Introduction 本文组成: Ryan Clark文章Getting started with React的翻译. 博主的实践心得. React由Facebook的程序员创建,是一个非常强大的 ...

  8. React Native 开发之 (01) 配置开发环境

    一 React Native React Native 是由Facebook发布的开源框架,着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台.(Learn once, write an ...

  9. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

  10. react学习笔记-01

    1. HTML模板 Jsx是react的语法糖,最终会被编译成js语法.因此需要第三方库browser将jsx转换成js. 由于react 0.14版本之后,将react和react-dom拆分,所以 ...

随机推荐

  1. java Page分页显示

    //entity层实体类 import java.util.List; //分页展示 //相关属性:当前页,页大小(每页显示的条数),总页数,总条数,数据 //select * from t_user ...

  2. fdisk 分区及 swap

    使用虚拟机创建挂载点 一,创建 windows 硬盘        创建  

  3. 使用 nodeJs 开发微信公众号(获取access_token)

    要使用微信提供的功能接口,就需要获取到access_token,这是开发公众号必不可少的一部 access_token有效期20分钟,建议保存起来,过期后在重新获取 获取流程如下: 我将微信相关的操作 ...

  4. mybatis-plus报org.apache.ibatis.binding.BindingException分析【转载】

    这个问题整整纠结了我四个多小时,心好累啊...不废话... 背景:Spring整合Mybatis 报错:org.apache.ibatis.binding.BindingException: Inva ...

  5. supervisord的安装使用

    由于生产环境使用的的tomcat,项目比较重要,所以要做进程守护,本来打算自己写脚本,但是效果不理想,想了下还是用supervisord了 由于很久不用,所以写下来部署步骤 第一:安装,安装的方法有y ...

  6. web移动端区分Android或者ios系统

    // 这里区分方式类似于区分不同浏览器, 这里是es6的写法,在react项目中使用过的. const ua = typeof window === 'object' ? window.navigat ...

  7. java 将mysql中Blob类型转为字符串或数字

    引入Blob类型貌似不行,不知道是版本问题还是java中的Blob类型为oracle,后来使用byte[]转换成功. public float byte2float(byte[] b) { if(b! ...

  8. cmake: error: symbol(s) not found for architecture x86_64 mac os 使用boost asio

    最近在使用boost的asio库,在mac osx 上编写网络服务程序报错: :-1: error: symbol(s) not found for architecture x86_64 然后在CM ...

  9. JS工具类

    封装了开发中常用的操作 并添加了一些扩展方法供调用 var util = { //获取Url中的参数(不支持中文) getParams: function() { var url = location ...

  10. Java框架spring 学习笔记(四):BeanPostProcessor接口

    如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化前后后添加一些自己的逻辑处理. 编写InitHelloWorld.java package com.example.spring; ...