React 学习-1

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

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

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

javascript 复制代码
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当中的元素。

javascript 复制代码
JSX示例:
const element = <h1>Hello, world!</h1>;

规范:
1.使用js表达式、数组、注释,都写在{}中
2.不能使用if判断,可使用三元表达式
3.推荐使用内联样式,使用驼峰命名法,数字后不用写px,react会自动添加
  1. React组件

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

javascript 复制代码
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 的保留字。
相关推荐
小邓吖12 分钟前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
南风知我意95718 分钟前
【前端面试2】基础面试(杂项)
前端·面试·职场和发展
LJianK11 小时前
BUG: Uncaught Error: [DecimalError] Invalid argument: .0
前端
No Silver Bullet1 小时前
Nginx 内存不足对Web 应用的影响分析
运维·前端·nginx
一起养小猫1 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
weixin_395448911 小时前
main.c_cursor_0130
前端·网络·算法
wotaifuzao1 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
C澒1 小时前
SGW 接入层运维实战:配置查看 + 监控分析 + 日志排查
前端·安全·运维开发
德育处主任Pro2 小时前
『NAS』在群晖部署一款太空策略游戏-ogame-vue-ts
前端·vue.js·游戏
摘星编程2 小时前
React Native鸿蒙版:自定义useMask输入掩码
react native·react.js·harmonyos