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 ...
随机推荐
- P1379 八数码难题 ( A* 算法 与 IDA_star 算法)
P1379 八数码难题 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初 ...
- <vue 组件 4、插槽的使用>
代码结构 一. 01-slot-插槽的基本使用 1. 效果 同样的一个插槽,父组件调用的时候不同展现的内容就不同 2.代码 01-slot-插槽的基本使用.html <!DOCTYPE ...
- gradle简介与windows安装操作
本文为博主原创,转载请注明出处: 目录 1.Gradle 简介 2.gradel 与 maven 对比 3.安装 gradle 3.1.安装jdk 3.2.下载gradle 3.3.下载解压到指定目录 ...
- 第二章 VB.NET 绘图基础
GDI+( Graphics Device Interface Plus)是 Windows操作系统用来执行绘画及其他相关图形操作的一套子系统,是由. Net Framework中的System.Dr ...
- 【转帖】Alpaca 7B:斯坦福从LLaMA-7B微调的语言模型
https://www.jianshu.com/p/f8f8f660d2c3 https://crfm.stanford.edu/2023/03/13/alpaca.html https://crfm ...
- 【转帖】eBay 云计算“网”事:网络超时篇
https://www.infoq.cn/article/JmCbkA0XX9NqrcX6loIo eBay技术荟 2020-06-19 本文字数:5508 字 阅读完需:约 18 分钟 导读 eBa ...
- [转帖]python库Paramiko
https://zhuanlan.zhihu.com/p/456447145 测试过程中经常会遇到需要将本地的文件上传到远程服务器上,或者需要将服务器上的文件拉到本地进行操作,以前安静经常会用到xft ...
- [转帖]PyCharm无法安装第三方模块,一直提示 updating list:time out 解决办法
Pycharm无法安装第三方模块解决办法: 1.打开pycharm的项目的venv文件夹 2.打开文件夹目录中的pyvenv文件 3.将文件中的include-system-site-packages ...
- [转帖]logback:logback和slf4j中的:appender、logger、encoder、layout
(1)appender 1.appender标签是logback配置文件中重要的组件之一.在logback配置文件中使用appender标签进行定义.可 以包含0个或多个appender标签. 2.a ...
- [转帖]ARM64体系结构编程与实践:基础知识
ARM64体系结构编程与实践:基础知识 原创 异步社区 2022-03-30 12:44:16 著作权 文章标签 寄存器 体系结构 v8 ARM64体系结构 ARM 文章分类 物联网 阅读数1570 ...