当前位置: 首页 > news >正文

React 学习-1

  1. 安装--使用npm 
  2. 元素渲染

      React只定义一个根节点,由 React DOM 来管理。通过ReactDOM.render()方法将元素渲染到根DOM节点上。

    React 元素都是不可变的。当元素被创建之后,你是无法改变其内容或属性的。目前更新界面的唯一办法是创建一个新的元素,然后将它传入 ReactDOM.render() 方法

React实例一:
<div id="example"></div>
<script type="text/babel">ReactDOM.render(<h1>Hello, world!</h1>,document.getElementById('example'));
</script>React实例二:
<div id="example"></div>
<script type="text/babel">
const element = <h1>Hello, world!</h1>ReactDOM.render(element,document.getElementById('example'));
</script>实例三:
ReactDOM.render(<div><h1>菜鸟教程</h1><h2>欢迎学习 React</h2><p data-myattribute = "somevalue">这是一个很不错的 JavaScript 库!</p></div>,document.getElementById('example')
);
  1. JSX(javascript的语法扩展,是在javascript内部实现的)

         在 React 中使用 JSX 来描述用户界面。元素是构成React应用的最小单位,jsx就是用来生命Reac当中的元素。

JSX示例:
const element = <h1>Hello, world!</h1>;规范:
1.使用js表达式、数组、注释,都写在{}中
2.不能使用if判断,可使用三元表达式
3.推荐使用内联样式,使用驼峰命名法,数字后不用写px,react会自动添加
  1. React组件

原生html是小写字母开头,自定义的组件需要大写字母开头,意组件类只能包含一个顶层标签

1.可以使用函数定义组件
function HelloMessage(props) {return <h1>Hello World!</h1>;
}
const element = <HelloMessage /> 为用户自定义的组件。2.向组件传递参数,可以使用 this.props 对象
function HelloMessage(props) {return <h1>Hello {props.name}!</h1>;
}const element = <HelloMessage name="Runoob"/>;ReactDOM.render(element,document.getElementById('example')
);注意,在添加属性时, class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 JavaScript 的保留字。

http://www.lryc.cn/news/347530.html

相关文章:

  • Libcity 笔记:自定义模型
  • 易图讯科技三维电子沙盘系统
  • 数据结构与算法学习笔记之线性表四---单链表的表示和实现(C++)
  • go语言切片slice使用细节和注意事项整理
  • C语言 | Leetcode C语言题解之第85题最大矩形
  • 2024-05-13四月初六周一
  • Android性能:高版本Android关闭硬件加速GPU渲染滑动卡顿掉帧
  • 对于FileUpload控件的一些bug
  • 哲学家就餐问题
  • Web安全:SQL注入之布尔盲注原理+步骤+实战操作
  • 电商秒杀系统-案例04-redis下的session控制
  • 贪吃蛇(c实现)
  • 【论文阅读笔记】MapReduce: Simplified Data Processing on Large Clusters
  • LeetCode题练习与总结:二叉树的中序遍历--94
  • 云计算十三课
  • [数据集][目标检测]电力场景安全帽检测数据集VOC+YOLO格式295张2类别
  • AtCoder Beginner Contest 308 A题 New Scheme
  • C++编程与朱元墇的关系
  • 0060__设计模式
  • 【Linux 网络】网络编程套接字 -- 详解
  • 编译OpenResty遇到找不到OpenSSL的解决办法
  • Amazon Bedrock 托管 Llama 3 8B70B
  • 海豚调度器早期版本如何新增worker分组
  • Debian Linux 下给Nginx 1.26.0 编译增加Brotli算法支持
  • 中国银行从业在线教育系统,如何搭建网课平台?
  • 解决java.lang.IllegalArgumentException异常的正确方法
  • 齿轮滚刀刃口钝化技术简介
  • 【ESP32接入ATK-MO1218 GPS模块】
  • EDA设计学习笔记2:STM32F103C8T6最小系统板的仿绘
  • 实现树莓派DS18B20读取温度(OneWire)