react快速上手一(使用js语法,创建虚拟DOM元素)
1.装包,引包
首先需要安装两个包 react ,react-dom
cnpm i react react-dom
介绍下这两个包:
react:专门用来创建React组件,组件生命周期等这些东西。
react-dom:里面主要封装了和Dom操作相关的包(例如:要把组件渲染到页面上)
装了之后就引包使用了
import React from ‘react’
import ReactDom from ‘react-dom’
2.创建dom对象
在react中,如果要创建DOM元素了,只能使用React提供的JS API来创建(vue是直接创建.vue文件手写HTML元素来创建的)
var myDiv = React.createElement('div' , { title : 'wo shi div' , id = 'myDiv'} , '这是一个div' )
React.createElement()方法:用于创建虚拟DOM对象,他接收3个及以上的参数。
参数1:表示要创建的元素类型,参数是个字符串类型(在此我理解为标签名字如:‘div’ ,‘p’) 参数2:表示创建的元素含有哪些属性,参数是个对象(例如有id,class,title属性)
参数3:表示当前创建元素的子节点,可以是文本内容,也可以是子标签,从第三个参数的位置开始,后面可以放好多的虚拟DOM对象(嵌套元素)
创建后的效果:
<div title="wo shi div" id="myDiv">这是一个div</div>
3.渲染到页面
ReactDom.render(myDiv , document.getElementById('app'))
ReactDom.render()用法:
ReactDom.render(‘要渲染的虚拟DOM元素’ , '要渲染到页面上的那个位置中')
注意:
ReactDom.render()方法的第二个参数,和vue不一样,React中不接受字符串“#app”,需要传递一个原生的DOM对象“document.getElementById('app')”。
react快速上手一(使用js语法,创建虚拟DOM元素)的更多相关文章
- React:快速上手(1)——基础知识
React:快速上手(1)——基础知识 React(有时叫React.js或ReactJS)是一个为数据提供渲染为HTML视图的开源JavaScript库,用于构建用户界面. JSX.元素及渲染 1. ...
- React:快速上手(7)——使用中间件实现异步操作
React:快速上手(7)——使用中间件实现异步操作 本文参考链接:Stack Overflow redux-thunk 我们使用store.dispath进行派发时,只能传递一个普通对象进去,如下: ...
- React:快速上手(6)——掌握React Router
React:快速上手(6)——掌握React Router 引入Router 安装 npm install react-router-dom 基础组件 React Router中有三种类型的组件:路由 ...
- React:快速上手(4)——掌握Redux(1)
React:快速上手(4)——掌握Redux 引入Redux 混乱的state管理 随着 JavaScript 单页应用开发日趋复杂,JavaScript 需要管理比任何时候都要多的 state (状 ...
- React:快速上手(3)——列表渲染
React:快速上手(3)——列表渲染 使用map循环数组 了解一些ES6 ES6, 全称 ECMAScript 6.0 ,是 JaveScript 的下一个版本标准,2015.06 发版.ES6 主 ...
- 官方 React 快速上手脚手架 create-react-app
此文简单讲解了官方 React 快速上手脚手架的安装与介绍. 1. React 快速上手脚手架 create-react-app 为了快速地进行构建使用 React 的项目,FaceBook 官方发布 ...
- React:快速上手(5)——掌握Redux(2)
React:快速上手(5)——掌握Redux(2) 本文部分内容参考阮一峰的Redux教程. React-Redux原理 React-Redux运行机制 我觉得这张图清楚地描述React-Redux的 ...
- React:快速上手(2)——组件通信
React:快速上手(2)——组件通信 向父组件传递数据 父组件可以通过设置子组件的props属性进行向子组件传值,同时也可以传递一个回调函数,来获取到子组件内部的数据. 效果演示 子组件是输入框,父 ...
- React:快速上手(8)——前后端分离的跨域访问与会话保持
React:快速上手(8)——前后端分离的跨域访问与会话保持 跨域访问 跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求http://www ...
随机推荐
- 苹果系统安装虚拟机 Mac如何安装虚拟机教程 (含系统镜像的下载地址)
镜像下载地址 http://www.itellyou.cn 1.前言 大家在用 Mac 系统的时候,可能有时难免还是要用到 Windows 系统.在 Mac 上使用 Windows 系统有二种方 ...
- 类型TTreeView.items.add 与 TTreeView.items.addchild有何区别?(10分)
我看了书上例子,好象两者都可以实现treeview中的node 的构建. addchild是给当前的node建一个子node,它比当前node要向右缩进几格add建立同级的node,不缩进 aNode ...
- delphi type
声明: 1. type Name = Existing type; 2. type Name = type Existing type; 3. type Name = (EnumValue1 [=va ...
- iOS 11适配
1.http://www.cocoachina.com/ios/20170915/20580.html 简书App适配iOS 11 2.http://www.jianshu.com/p/efb ...
- React Native Expected a component class,got [object Object]解决
报错原因: 组件大小写错误. 解决方式: 修改组件名称即可. 这篇博客介绍了大部分RN的错误原因和解决方法: http://blog.csdn.net/chichengjunma/article/de ...
- iOS-调用网页聊天、拨打电话
@property (nonatomic,strong) UIButton *but;@property (nonatomic,strong) UIButton *but1;@property (st ...
- Jmeter 逻辑控制器 之 吞吐量控制器
吞吐量控制器 听起来好像比较难理解或者比较高深,其实它非常简单,今天我仔细看了下帮助,分享下对它的理解. 一.认识吞吐量控制器 作用:控制其下子样例执行的频次,有两种控制模式,一种是直接设置数值,一种 ...
- webdriervAPI(上传文件)
from selenium import webdriver driver = webdriver.Chorme() drvier.implicitly_wait(10) driver.ge ...
- Nginx负载均衡高可用---架构
1. Nginx负载均衡高可用 首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现w ...
- Java程序员壁纸-Java开发