【第1节 认识React】什么是React 、React JSX、模块与组件和模块化与组件化

认识React

什么是React

React是用于构建用户界面的 JavaScript 库。它有如下三个特点:

1、声明式

React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

2、组件化

创建拥有各自状态的组件,再由这些组件构成更加复杂的UI。组件逻辑使用 JavaScript 编写而非模版,因此你可以轻松地在应用中传递数据,并使得状态与 DOM 分离。

3、一次学习,随处编写

无论你现在正在使用什么技术栈,你都可以随时引入 React 来开发新特性,而不需要重写现有代码。
React 还可以使用 Node 进行服务器渲染,或使用 React Native 开发原生移动应用。

React使用

首先,导入相关的库。

【第1节 认识React】什么是React 、React JSX、模块与组件和模块化与组件化

React的使用分成两步,第一步,创建虚拟DOM元素对象,第二步,将虚拟DOM渲染到页面真实的DOM容器中。

<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>

<div id="test"></div>

<script type="text/babel">
    //创建虚拟DOM元素对象
    var vDom = <h1>Hello React</h1>
    //将虚拟DOM渲染到页面真实DOM容器中
    ReactDOM.render(vDom, document.getElementById("test"));
</script>

React JSX

React提供了一些API来创建一种“特别”的一般js对象:

var element = React.createElement(‘h1‘, {id:‘myTitle‘},‘hello‘)

上面创建的就是一个简单的虚拟DOM对象。

JSX全称是JavaScript XML,是React定义的一种类似于XML的JS扩展语法,用来创建React虚拟DOM对象。

var ele=<h1>Hello</h1>

它不是字符串,也不是HTML/XML标签,它最终产生的就是一个JS对象。

浏览器不能直接解析JSX代码,需要babel转译为纯JS代码才能运行,只要用了JSX,都要加上type="text/babel",声明需要babel来处理。

<script type="text/javascript">
    const msg = "I LIKE YOU!";
    const myId = "Atguigu";
    //第一种方式
    const vDom1 = React.createElement(‘h2‘, {id: myId.toLowerCase()}, msg.toUpperCase());
    ReactDOM.render(vDom1, document.getElementById("test1"))
</script>
<script type="text/babel">
    //第二种方式
    const vDom2 = <h3 id={myId.toUpperCase()}>{msg.toLowerCase()}</h3>;
    ReactDOM.render(vDom2, document.getElementById("test2"))
</script>

模块与组件和模块化与组件化

模块:是向外提供特定功能的js程序,一般就是一个js文件。复用js,简化js的编写。

组件:是用来实现特定(局部)功能效果的代码集合 (html/css/js)

【第1节 认识React】什么是React 、React JSX、模块与组件和模块化与组件化

上一篇:httpclient的简单运用。


下一篇:WCF 报错 HTTP 无法注册 URL, 进程不具有此命名空间的访问权限