项目起步
官网链接
React官网
一、搭建一个项目
// 1、安装官⽅方脚⼿手架
npm install -g create-react-app
// 2、创建项⽬
create-react-app my-app
// 3、进入项目、启动项目
cd my-app
npm start
// 4、如果需要暴露配置项
npm run eject
二、目录预览
README.md 文档
public 静态资源
favicon.ico 图标
index.html 入口文件
manifest.json 页面配置
src 源码
App.css 组件样式
App.js 根组件
App.test.js 根组件测试
index.css 全局样式
index.js 入⼝文件
logo.svg LOGO
serviceWorker.js pwa ⽀支持
package.json npm 依赖
三、React和ReactDom
import React from 'react';
import ReactDOM from 'react-dom';
// 这⾥里里怎么没有出现React字眼?
// JSX => React.createElement(...)
ReactDOM.render(
<h1>Hello React</h1>,
document.getElementById("root")
);
1、React负责逻辑控制,数据 -> VDOM
2、ReactDOM渲染实际DOM,VDOM -> DOM
3、React使⽤用JSX来描述UI
JSX
1、定义
(1)JSX是一种JavaScript的语法扩展,其格式⽐比较像模版语⾔言,但事实上完全是在JavaScript内部实现的。
(2)JSX可以很好地描述UI,能够有效提⾼高开发效率,体验JSX
(3)JSX实质就是React.createElement的调⽤用,最终的结果React“元素”(JavaScript对象)。
2、使用
(1)表达式{}的使⽤用,index.js
const name = "react study";
const jsx = <h2>{name}</h2>;
(2)函数也是合法表达式,index.js
const user = {
firstName: "tom",
lastName: "jerry"
};
function formatName(user) {
return user.firstName + " " + user.lastName;
}
const jsx = <h2>{formatName(user)}</h2>;
(3)jsx是js对象,也是合法表达式,index.js
const greet = <p>hello, Jerry</p>
const jsx = <h2>{greet}</h2>;
(4)条件语句使用,index.js
const showTitle = true;
const jsx = (
<div>
{/* 条件语句句 */}
{ showTitle ? <h2>{showTitle}</h2> : null;}
</div>
);
(5)数组使用
const arr = [1,2,3].map(num => <li key={num}>{num}</li>)
const jsx = (
<div>
{/* 数组 */}
<ul>{arr}</ul>
</div>
);
(6)属性使用
import logo from "./logo.svg";
const jsx = (
<div>
{/* 属性:静态值用双引号,动态值用花括号;class、for等
要特殊处理理。 */}
<img src={logo} style={{ width: 100 }} className="img" />
</div>
);
(7)CSS使用
import style from "./index.module.css";
<img className={style.img} />
————————————————
智一面|前端面试必备练习题