网站首页 > 技术文章 正文
新手如此入门React,我觉得你应该从下面几点开始入手学习,今天给大家分享的是第一期,后续还会不断的更新和实战的分享。
一,了解React
- 声明式(React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。以声明式编写 UI,可以让你的代码更加可靠,且方便调试)
2.组件化(创建拥有各自状态的组件,再由这些组件构成更加复杂的 UI。组件逻辑使用 JavaScript 编写而非模版,因此你可以轻松地在应用中传递数据并使得状态与 DOM 分离。
3.高效(React通过和DOM的模拟,最大限度的减少与DOM的交互)
4.JSX(javascript的拓展语言,建议在React开发中使用JSX)
5.灵活(React可以和已知的库或者是框架完美的配合)
6.单向响应的数据流(React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单的原因)
无论你现在正在使用什么技术栈,你都可以随时引入 React 来开发新特性,而不需要重写现有代码。React 还可以使用 Node 进行服务器渲染,或使用 React Native 开发原生移动应用。
二,第一个React实例
页面如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('example')
);
</script>
</body>
</html>
说明:
html的页面引入三个库,
- react.min.js(React的核心库)
- react-dom.min.js(提供与DOM相关的功能)
- babel.min.js (ES6代码转换为ES5代码,还支持JSX)
三,React的元素操作
元素在React应用中最小的单位,主要作用就是为了描述屏幕上输出的内容。
const = element = <h1>n你好,hello world</h1>
不过我们在引入React的时候都是如下操作,
<div id="example"></div>
定义一个跟节点,div的所有内容都将属于 example的 React DOM来管理,我们也把这个称为“根”DOM节点。
下一步就是将React的元素, const渲染到DOM节点中,方法如下:
const element = <h1>Hello, world!</h1>;
ReactDOM.render(
element,# 元素
document.getElementById('example') # 节点
);
说明:采用的方法为:ReactDOM.render(),此方法的两个重要点就是 元素和节点。
这个时候我们就会产生一个问题,我们需要在同一个节点显示多个元素该怎么办?
其实在React的特性中,元素都是不可改变的,但是我们可以通过更新的方式来达到我们需要实现的目的,比如重新创建一个元素再渲染到同一个节点,这样元素的内容就更新了。
const element = (
<div>
<h1>Hello, world!</h1>
<h2>我是前端工程师小A.</h2>
</div>
);
ReactDOM.render(
element,
document.getElementById('example')
);
}
空口无凭,我们可以通过一个实际例子来总结React的第一章学习
<!DoCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
function tick() {
const element = (
<div>
<h1>Hello, world!</h1>
<h2>现在是 {new Date().toLocaleTimeString()}.</h2>
</div>
);
ReactDOM.render(
element,
document.getElementById('example')
);
}
setInterval(tick, 1000);
</script>
</body>
</html>
</html>
怎么样?是不是感觉React很简单,当然通过一个简单的hello world 还真的看不出什么东西,但是我们可以明显的感觉到React更加的注重js的编写,所有可以用js实现的就不用再去“麻烦”html,高效的DOM就是最好的一个例子。
下一篇我们接着给大家讲解React JSX(javascript的拓展语法)
猜你喜欢
- 2025-06-09 CSS网格布局:现代网页设计的终极解决方案
- 2025-06-09 web前端【卡片式布局】基础示例(卡片式ui设计)
- 2025-06-09 前端网页制作DIV+CSS布局介绍(前端开发网页布局)
- 2025-06-09 什么是可视化拖拽,vue拖拽可视化布局插件特点
- 2025-06-09 CSS:前端必会的flex布局,我把布局代码全部展示出来了
- 2024-09-29 图文详解CSS中的Grid布局,你真的可以5分钟掌握
- 2024-09-29 html2canvas - 动态生成微信分享海报的优质js库
- 2024-09-29 Web前端开发进阶教程:CSS 布局方式详解
- 2024-09-29 CSS-常见布局介绍 css布局有几种
- 2024-09-29 前端笔记-flex 布局 flex布局 order
你 发表评论:
欢迎- 07-07使用AI开发招聘网站(100天AI编程实验)
- 07-07Tailwindcss 入门(tailwindcss中文文档)
- 07-07CSS 单位指南(css计量单位)
- 07-07CSS 定位详解(css定位属性的运用)
- 07-07程序员可以作为终身职业吗?什么情况下程序员会开始考虑转行?
- 07-07云和学员有话说:国企转行前端开发,斩获13K高薪!
- 07-0791年转行前端开发,是不是不该转,有啥风险?
- 07-07计算机图形学:变换矩阵(图形学 矩阵变换)
- 595℃几个Oracle空值处理函数 oracle处理null值的函数
- 587℃Oracle分析函数之Lag和Lead()使用
- 575℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 572℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 568℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 561℃【数据统计分析】详解Oracle分组函数之CUBE
- 548℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 541℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)