网站首页 > 基础教程 正文
react是什么?
react 这是一个声明式,高效且灵活地用于构建用户界面的 JavaScript 库。使用 react 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。
react特点
1.声明式设计:创建交互式UI更简单。
2.组件化:构建具有自身状态的组件,灵活组成复杂UI。
3.高效:虚拟DOM节点,减少DOM元素交互。
4.灵活:自由融合其他技术栈。
JSX语法
react框架推荐使用JSX语法编程。JSX 是一个看起来很像 XML 的 JavaScript 语法扩展,直接在HTML中使用js语法。无法被浏览器识别,需要使用webpack将JSX解析成js语法。我们不需要一定使用 JSX,但它有以下优点:
- JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。
- 它是类型安全的,在编译过程中就能发现错误。
- 使用 JSX 编写模板更加简单快速。
import React from "react";
class Test extends React.Component {
constructor(props) {
super(props);
}
render() {
function getName(user){
return user.name;
}
const user = {
name: 'jack',
age: 18
}
return(
<div>
<h1>hello {getName(user)}</h1>
</div>
)
}
}
export default Test
组件
1.有状态组件
有状态组件又被称为容器组件或者聪明组件,它主要用来处理数据或者页面逻辑交互。它比无状态功能更加强大。类组件可以维护自身的状态变量,即组件的state。
class Test extends React.Component {
constructor(props) {
super(props);
this.state = {
name: 'jack',
age: 18
}
}
render() {
return(
<div>
<h1>hello { this.state.name }</h1>
</div>
)
}
}
export default Test
2.无状态组件
无状态组件又称变现性组件或者木偶组件,为何叫木偶组件?因为它只关心数据传递props,只能访问输入的 props,同样的 props 会得到同样的渲染结果,不会有副作用。而且没有自己的state。
import React from "react";
const Componment = (props) => {
return(
<div>
hello {props.user.name}
</div>
)
}
export default Componment
import React from "react";
import Componment from "./Test2";
class Test extends React.Component {
constructor(props) {
super(props);
}
render() {
function getName(user){
return user.name;
}
const user = {
name: 'jack',
age: 18
}
return(
<div>
<Componment user={user}/>
</div>
)
}
}
export default Test
猜你喜欢
- 2024-11-24 React(6)React受控组件的使用
- 2024-11-24 React(8)React组件的生命周期
- 2024-11-24 React-EffectHook的应用简单示例
- 2024-11-24 业余时间总结了React的setState原理,有兴趣的了解下
- 2024-11-24 「react进阶」一文吃透React高阶组件(HOC)
- 2024-11-24 React-State Hook的应用简单示例
- 2024-11-24 2022 年初级 React 开发人员的 5 大面试问题
- 2024-11-24 React-Redux简单计算示例
- 2024-11-24 手把手教你深入浅出React 迷惑的问题点【完整版】
- 2024-11-24 day2:前端面试题(react)
- 06-09Socioeconomic growth goals high on meetings' agenda
- 06-09Cities Along Middle Reaches of Yangtze River Agree on 63 Cooperation Items
- 06-09Scientists to make flag flutter on moon
- 06-09CBN丨Foreign-funded institutions bullish on Chinese assets
- 06-09Full Text: Joint Statement between the People's Republic of China and the French Republic on Climate Change on the occasion of the Tenth Anniversary of the Paris Agreement
- 06-092022年底总结,温暖和激励自己的文案
- 06-09百度实时推送代码解决方案(百度实时推送工具)
- 06-09PHP漏洞之跨网站请求伪造(php跨站脚本攻击)
- 最近发表
-
- Socioeconomic growth goals high on meetings' agenda
- Cities Along Middle Reaches of Yangtze River Agree on 63 Cooperation Items
- Scientists to make flag flutter on moon
- CBN丨Foreign-funded institutions bullish on Chinese assets
- Full Text: Joint Statement between the People's Republic of China and the French Republic on Climate Change on the occasion of the Tenth Anniversary of the Paris Agreement
- 2022年底总结,温暖和激励自己的文案
- 百度实时推送代码解决方案(百度实时推送工具)
- PHP漏洞之跨网站请求伪造(php跨站脚本攻击)
- ThinkPHP后台入口地址查找(thinkphp build.php)
- PHP新手如何提高代码质量(php新手如何提高代码质量的方法)
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)