标签:creat UI 环境 转化 root 节点 起源 sso 高效
React 是一个用于构建用户界面的 JAVASCRIPT 库。
React主要用于构建UI
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站
由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单
项目,目标更是宏伟,希望用写 Web App 的方式去写 Native App。
如果能够实现,整个互联网行业都会被颠覆,因为同一组人只需要写一次 UI ,就能同时运行在服务器、浏览器和手机
1.声明式设计 ?React采用声明范式,可以轻松描述应用。
2.高效 ?React通过对DOM的模拟,最大限度地减少与DOM的交互。
3.灵活 ?React可以与已知的库或框架很好地配合。
4.JSX ? JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。
5.组件 ? 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流 ? React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
在React中,数据的流向是单向的——从父节点传递到子节点,因为组件是简单而且易于把握的,他们只需从父节点获取props渲染即可,如果顶层组件的某个prop改变饿了,React会递归的向下便利整棵组件树,重新渲染所有使用这个属性的组件。
// 声明式 const element1 = React.createElement( ‘div‘, {className:"greeting"}, ‘哈哈‘ ) // 过程式 element2 = document.createElement ‘div‘ element2.className = ‘greeting‘ element2.innerHTML = ‘哈哈‘ // 类似于这样一种简化的结构 const element = { type: ‘h1‘, props: { className: ‘greeting‘, children: ‘Hello, world‘ } }; ReactDOM.render( element1, document.getElementById(‘root‘) );
组件化,实现代码的重用
react的使用离不开三个核心的库
// 新版本 <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <!--react的与dom相关的一些功能--> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <!--将浏览器不支持的jsx语法转化为js语法--> <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script> // 久版本 <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script> <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello World</title> <!--react的核心库--> <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <!--react的与dom相关的一些功能--> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <!--将浏览器不支持的jsx语法转化为js语法--> <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script> </head> <body> <div id="root"></div> <!-- <script> 标签的 type 属性为 text/babel 。 这是因为 React 独有的 JSX 语法,跟 JavaScript 不兼容。 凡是使用 JSX 的地方,都要加上 type="text/babel" 。 --> <script type="text/babel"> // ReactDOM.render 是 React 的最基本方法,用于将模板转为 HTML 语言,并插入指定的 DOM 节点。 ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById(‘root‘) ); </script> </body> </html>
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
相比开发环境进行了压缩和优化
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
标签:creat UI 环境 转化 root 节点 起源 sso 高效
原文地址:https://www.cnblogs.com/winner-one/p/9005106.html