如果你还在为前端的布局和JS头疼,你应该看看这篇连载文章

开发 前端
新手如此入门React,我觉得你应该从下面几点开始入手学习,今天给大家分享的是第一期,后续还会不断的更新和实战的分享。

新手如此入门React,我觉得你应该从下面几点开始入手学习,今天给大家分享的是第一期,后续还会不断的更新和实战的分享。

[[359277]]

一,了解React

1.声明式(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 开发原生移动应用。 

如果你还在为前端的布局和JS头疼,你应该看看这篇连载文章

二,第一个React实例

页面如下

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset="UTF-8" /> 
  5. <title>Hello React!</title> 
  6. <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> 
  7. <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> 
  8. <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script> 
  9. </head> 
  10. <body> 
  11.   
  12. <div id="example"></div> 
  13. <script type="text/babel"
  14. ReactDOM.render( 
  15.     <h1>Hello, world!</h1>, 
  16.     document.getElementById('example'
  17. ); 
  18. </script> 
  19.   
  20. </body> 
  21. </html> 

说明:

html的页面引入三个库,

  1. react.min.js(React的核心库)
  2. react-dom.min.js(提供与DOM相关的功能)
  3. babel.min.js (ES6代码转换为ES5代码,还支持JSX)

三,React的元素操作

元素在React应用中最小的单位,主要作用就是为了描述屏幕上输出的内容。

  1. const = element = <h1>n你好,hello world</h1>  

不过我们在引入React的时候都是如下操作,

  1. <div id="example"></div>  

定义一个跟节点,div的所有内容都将属于 example的 React DOM来管理,我们也把这个称为“根”DOM节点。

下一步就是将React的元素, const渲染到DOM节点中,方法如下:

  1. const element = <h1>Hello, world!</h1>; 
  2. ReactDOM.render( 
  3.     element,# 元素 
  4.     document.getElementById('example') # 节点 
  5. ); 

说明:采用的方法为:ReactDOM.render(),此方法的两个重要点就是 元素和节点。

这个时候我们就会产生一个问题,我们需要在同一个节点显示多个元素该怎么办?

其实在React的特性中,元素都是不可改变的,但是我们可以通过更新的方式来达到我们需要实现的目的,比如重新创建一个元素再渲染到同一个节点,这样元素的内容就更新了。

  1.   const element = ( 
  2.     <div> 
  3.       <h1>Hello, world!</h1> 
  4.       <h2>我是前端工程师小A.</h2> 
  5.     </div> 
  6.   ); 
  7.   ReactDOM.render( 
  8.     element, 
  9.     document.getElementById('example'
  10.   ); 

空口无凭,我们可以通过一个实际例子来总结React的第一章学习

  1. <!DoCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset="UTF-8" /> 
  5. <title>Hello React!</title> 
  6. <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> 
  7. <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> 
  8. <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script> 
  9. </head> 
  10. <body> 
  11. <div id="example"></div> 
  12. <script type="text/babel"
  13. function tick() { 
  14.   const element = ( 
  15.     <div> 
  16.       <h1>Hello, world!</h1> 
  17.       <h2>现在是 {new Date().toLocaleTimeString()}.</h2> 
  18.     </div> 
  19.   ); 
  20.   ReactDOM.render( 
  21.     element, 
  22.     document.getElementById('example'
  23.   ); 
  24. setInterval(tick, 1000); 
  25. </script> 
  26. </body> 
  27. </html> 
  28. </html> 

怎么样?是不是感觉React很简单,当然通过一个简单的hello world 还真的看不出什么东西,但是我们可以明显的感觉到React更加的注重js的编写,所有可以用js实现的就不用再去“麻烦”html,高效的DOM就是最好的一个例子。

 

责任编辑:华轩 来源: 今日头条
相关推荐

2020-01-20 14:30:39

HTTP概念标头

2015-11-10 09:17:29

重构程序员代码

2015-10-12 17:11:34

老板重构系统

2020-10-22 07:44:03

Tomcat调优JVM

2015-09-16 09:21:12

移动云技术数据管理

2019-12-19 17:00:01

Java线程

2021-07-13 12:21:34

PythonRPC通信

2019-12-25 10:45:30

Java悲观锁

2020-11-17 07:43:24

互联网MVC服务类

2015-07-09 11:32:26

AWSIaaS云计算

2021-04-01 14:04:45

安全趋势首席信息安全官勒索软件

2015-12-29 13:53:14

BeeCloud云计算支付

2015-07-14 10:11:48

前端框架语言

2018-09-24 09:15:12

数据仓库大数据

2022-02-23 14:18:53

If-Else入参接口

2019-01-30 13:44:34

JVM内存服务器

2021-06-10 10:33:22

Jenkins持续集成工具自动化

2019-09-02 08:08:30

缓存HTTP数据库

2019-10-31 10:08:15

Synchronize面试线程
点赞
收藏

51CTO技术栈公众号