React核心概念与JSX
// React.createElement创建的ele是一个js对象
// 第一个参数:要创建的React元素
// 第二个参数:该React元素的属性
// 第三个参数及其以后的参数:该React元素的子节点
const ele = React.createElement('h1', {id: '标题'}, 'Helle React Ele');
// ReactDOM.render将这个react生成的js对象,映射成真实的DOM元素并展示到屏幕上
// 第一个参数:要渲染的React元素
// 第二个参数:DOM元素,用于指定渲染到页面中的位置, 所以React创建的应用是SPA单页面应用。
ReactDOM.render(ele, document.getElementById('root'))
const ele3 = React.createElement('h2', {id:'title2'}, React.createElement('h3', {id:'title3'}, 'hello, ele3'))
const ele4 = <h2><h3>hello, ele4</h3></h2>
const ele5 = document.getElementById('demo')
console.log('虚拟DOM', ele4)
console.log('真实DOM', ele5)
debugger
ReactDOM.render(ele2,document.getElementById('rootReact'));
const ele4 = <h2><h3>hello, ele4</h3></h2>
ReactDOM.render(ele2,document.getElementById('rootReact'));
const ele3 = React.createElement('h2', {id:'title2'}, React.createElement('h3', {id:'title3'}, 'hello, ele3'))
ReactDOM.render(ele2,document.getElementById('rootReact'));
<script type="text/babel">
let myDom = <h1>hello tan</h1>; //将虚拟DOM元素myDom, 渲染到真实DOM上去
ReactDOM.render(myDom,document.getElementById('rootReact'));
</script>
.npm install -g create-react-app 全局安装脚手架
2.create-react-app --version 查看安装的版本
3.create-react-app my-app 创建项目
4.npm start/ yarn start 启动项目
npx create-react-app my-app 创建项目
2.npm start/ yarn start 启动项目
import React from 'react';
import ReactDOM from 'react-dom'; const ele = React.createElement('h1', {title: '文章的标题'}, 'Hello React') ReactDOM.render(ele, document.getElementById('root'))
let p1 = React.createElement('h1',null,"hello React !!")
let p2 = <h1>"hello React !!"</h1>
ReactDom.render(p1, document.getElementById("root"))
1.a
2.a+b
3.list.map() 它们在左边都可以用一个const var = 进行接收。
这个接收的值是{}要展示的值
js语句是什么
1.if(){}
2.for(){}
3.switch(){} 这些没有返回指定值的代码就是js语句,它们不能放到React的{}中
let loading = false
//条件渲染
//1.if else表达式
let loadData = () => {
if (loading) {
return <h4>加载中...</h4>
} else {
return <h4>加载完成</h4>
}
}
//2.三元运算符
loadData = () => {
return loading ? <h4>加载中...</h4> : <h4>加载完成</h4>
}
//3.逻辑运算符
loadData = () => {
return loading && <h4>加载中...</h4>
} const container = (
<div>
{loadData()}
</div>
)
ReactDom.render(container, document.getElementById("root"))
//列表渲染
const songs = [
{id:1,name:"大约在冬季"},
{id:2,name:"菊花台"},
{id:3,name:"捉泥鳅"}] const container = (
<div>
{songs.map((item)=><li key={item.id}>{item.name}</li>)}
</div>
)
ReactDom.render(container, document.getElementById("root"))
//样式渲染
const artile = function () {
return <p className="title" style={{color:"red", textAlign:"center"}}>这是一篇文章</p>
} const container = (
<div>
{artile()}
</div>
) ReactDom.render(container, document.getElementById("root"))
React核心概念与JSX的更多相关文章
- [React]核心概念
本文是对React文档:核心概念部分的笔记,内容大致与文档相同. 文档链接 React哲学部分写的很好,务必要看 JSX JSX是JS的语法扩展,配合react使用,为JS和HTML的混写 JSX支持 ...
- [WIP]React 核心概念
创建: 2019/05/01 Hello World ReactDOM.render( <p>sample</p>, document.getElementById('ro ...
- react 教程—核心概念
react 核心概念 : https://react.docschina.org/docs/getting-started.html(官网) 或 https://www.w3cschool.cn/ ...
- React 核心思想之声明式渲染
React 发展很快,概念也多,本文目的在于帮助初学者理清 React 核心概念. React 及 React 生态 React 的核心概念只有 2 点: 声明式渲染(Declarative) 基于组 ...
- react实战项目开发(2) react几个重要概念以及JSX语法
前言 前面我们已经学习了利用官方脚手架搭建一套可以应用在生产环境下的React开发环境.那么今天这篇文章主要先了解几个react重要的概念,以及讲解本文的重要知识JSX语法 React重要概念 [思想 ...
- AntDesign-React与VUE有点不一样,第一篇深入了解React的概念之一:JSX
AntDesign-React与VUE有点不一样,第一篇深入了解React的概念之一:JSX 一.什么是JSX 使用JSX声明一个变量(REACT当中的元素): const element =< ...
- webpack核心概念
一.webpack四个核心概念 1.入口[Entry] webpack将创建所有应用程序 依赖关系图表.图表的起点被称之为 入口起点.入口起点告诉webpack从哪里开始,并遵循着依赖关系图表知道打包 ...
- Redux 核心概念
http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译. ...
- 通过核心概念了解webpack工作机制
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gr ...
- fusionjs 学习二 核心概念
核心概念 middleware 类似express 的中间件模型(实际上是构建在koa中间件模型上的),但是和koa 的中间件有差异 fusionjs 的中间件同时可以运行在浏览器页面加载的时候 se ...
随机推荐
- Educational Codeforces Round 97 (Rated for Div. 2) (A - D题个人题解)
1437A. Marketing Scheme 题意:最近猫粮店正在打折销售猫粮罐头,在给定客人能买的罐头数量区间内求合适包装大小 思路:说实话,在比赛刚开始没看懂题,最后放弃读题直接研究给出的样例解 ...
- Educational Codeforces Round 104 (Rated for Div. 2) A-E 个人题解
比赛链接 1487A. Arena n 个 Hero,分别有 \(a_i\) 的初始等级.每次两个 Hero 战斗时:等级相同无影响,否则等级高的英雄等级+1.直到某个英雄等级到了 \(100^{50 ...
- SpringCloud学习 系列二、 简介
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...
- 问题--C中结构体想要嵌套一个该结构体指针,但是系统无法识别该类型
代码如下: typedef struct_Person{ char name[64]; int age; //Person* person; //这里会出现一个问题,由于Person是在末尾定义的,那 ...
- 揭秘 Docker 网络:手动实现 Docker 桥接网络
本文将带领读者探索 Docker 桥接网络模型的内部机制,通过手动实现 veth pair.bridge.iptables 等关键技术,揭示网络背后的运作原理. 如果你对云原生技术充满好奇,想要深入了 ...
- PolarD&N2023秋季个人挑战赛—Misc全解
签个到叭 题目信息 压缩包带密码,放到010查看PK头错误,改回去.. 解压后得到 562+5Yiw5Lmf5LiN6IO96L+Z5LmI566A5Y2V5ZGA77yM5b+r5p2l55yL55 ...
- Laravel - 配置 数据库
- [转帖]Oracle客户端与Oracle数据库兼容矩阵
https://www.cnblogs.com/kerrycode/p/17666025.html Oracle客户端与Oracle数据库之间是有兼容支持关系的,有些低版本的Oracle Client ...
- [转帖]OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle ...
- [转帖]Region Merge Config
TiKV replicates a segment of data in Regions via the Raft state machine. As data writes increase, a ...