学习主要来源 React 教程 | 菜鸟教程
React 是一个用于构建用户界面的 JAVASCRIPT 库。
React 主要用于构建 UI,很多人认为 React 是 MVC 中的 V(视图)。
React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。
React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React 特点
-
1.声明式设计 −React采用声明范式,可以轻松描述应用。
-
2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。
-
3.灵活 −React可以与已知的库或框架很好地配合。
-
4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。
-
5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
-
6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
React 安装
通过 npm 使用 React
国内使用 npm 速度很慢,你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
npm install -g cnpm --registry=https://registry.npmmirror.com
npm config set registry https://registry.npmmirror.com
使用 create-react-app 快速构建 React 开发环境
create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。
create-react-app 自动创建的项目是基于 Webpack + ES6 。
执行以下命令创建项目:
npm install -g create-react-app
处理
tar@2.2.2
警告: 由于tar@2.2.2
警告是由create-react-app
的依赖引起的,直接操作可能较为复杂,因为它涉及到包的依赖链。通常,最佳做法是检查是否有create-react-app
的更新版本,或者相关依赖库的更新版本,这些版本可能已解决了使用过时tar
包的问题。关于
npm fund
:npm fund
命令显示的信息是关于你项目依赖的开发者寻求资金支持的信息。这提供了一个机会去支持那些对你的项目有贡献的开源软件开发者。这些信息并不直接关联到tar@2.2.2
的警告,但它给出了哪些包及其维护者可能需要经济支持的信息。建议:
- 如果你仍然想在本地安装
create-react-app
,可以忽略这个tar@2.2.2
的警告,因为它不太可能影响开发环境的安全性。然而,保持警惕并定期检查是否有可用的安全更新是一个好习惯。- 考虑使用
npx create-react-app my-app-name
命令来创建新的 React 应用,这样可以避免将create-react-app
安装到你的本地或全局环境中,同时也能确保你使用的是最新版本。- 关注
create-react-app
和其他相关依赖的更新,以确保你的开发环境尽可能安全。
npx create-react-app my-app-name
cd my-app-name
npm start
启动成功
项目的目录结构如下:
my-app/ README.md node_modules/ package.json .gitignore public/ favicon.ico index.html manifest.json src/ App.css App.js App.test.js index.css index.js logo.svg
manifest.json 指定了开始页面 index.html,一切的开始都从这里开始,所以这个是代码执行的源头。
尝试修改 src/App.js 文件代码:
import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; class App extends Component { render() { return ( <div className="App"> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>欢迎来到菜鸟教程</h2> </div> <p className="App-intro"> 你可以在 <code>src/App.js</code> 文件中修改。 </p> </div> ); } } export default App;
src/index.js 是一个入口文件,我们可以尝试直接修改 src/index.js 文件代码:
import React from 'react';
import ReactDOM from 'react-dom';function Hello(props) {
return <h1>Hello World!</h1>;
}ReactDOM.render(<Hello />, document.getElementById('root'));