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 的保留字。
相关推荐
我不吃饼干1 天前
TypeScript 类型体操练习笔记(二)
前端·typescript
光影少年1 天前
浏览器渲染原理?
前端·javascript·前端框架
小白探索世界欧耶!~1 天前
Vue2项目引入sortablejs实现表格行拖曳排序
前端·javascript·vue.js·经验分享·elementui·html·echarts
GISer_Jing1 天前
前端营销(AIGC II)
前端·react.js·aigc
前路不黑暗@1 天前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
崎岖Qiu1 天前
【计算机网络 | 第十一篇】图解交换机的自学习功能
网络·学习·计算机网络
漠月瑾-西安1 天前
React-Redux Connect 高阶组件:从“桥梁”到“智能管家”的深度解析
react.js·设计模式·react-redux·高阶组件·connect高阶租单间·原理理解
NEXT061 天前
深度解析 JWT:从 RFC 原理到 NestJS 实战与架构权衡
前端·typescript·nestjs
科技林总1 天前
【系统分析师】8.0 项目管理
学习
浅念-1 天前
C++ string类
开发语言·c++·经验分享·笔记·学习