首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >React的安装和使用!

React的安装和使用!

原创
作者头像
Learn-anything.cn
发布2021-11-27 14:04:12
发布2021-11-27 14:04:12
1.2K0
举报
文章被收录于专栏:learn-anything.cnlearn-anything.cn
一、React库说明

React库包含两部分:1、React包含了所有基本功能;2、ReactDOM只包含了操作DOM的功能。


1、加载React库
代码语言:txt
复制
# 1、用<script>加载
开发版:<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
发布版:<!-- <script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>

# 2、ES5 和 npm 环境中用require
var React = require('react')

# 3、ES6 和 npm 环境中用import
import React from 'react'
2、加载ReactDOM库
代码语言:txt
复制
# 1、用<script>加载
开发版: <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
发布版:<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js" crossorigin></script>

# 2、ES5 和 npm 环境中用require
var ReactDOM = require('react-dom')

# 3、ES6 和 npm 环境中用import
import ReactDOM from 'react-dom'

二、HTML中使用React

只用浏览器原生支持特性来加载使用React,此种方式适合项目演示和学习用。

1、HTML配置React环境
代码语言:txt
复制
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>Add React in One Minute</title>
</head>

<body>

    <!-- 第一步:设置父容器 -->
    <div id="like_button_container"></div>

    <!-- 第二步:加载开发版本的React -->
    <script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

    <!-- 部署时,请用下面链接替代上面 -->
    <!-- <script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js" crossorigin></script> -->

    <!-- 第三步:编写React组件代码 -->
    <script src="like_button.js"></script>

</body>

</html>
2、编写React组件
代码语言:txt
复制
// like_button.js
'use strict';

const e = React.createElement;

class LikeButton extends React.Component {
    constructor(props) {
        super(props);
        this.state = { liked: false };
    }

    render() {
        if (this.state.liked) {
            return 'You liked this.';
        }

        return e(
            'button',
            { onClick: () => this.setState({ liked: true }) },
            'Like'
        );
    }
}

const domContainer = document.querySelector('#like_button_container');
ReactDOM.render(e(LikeButton), domContainer);
3、查看效果

把上面html文件和js文件放在同一个文件夹内,可用浏览器打开html文件,查看效果。


三、HTML中使用React和JSX

jsx是js的扩展语法,用标签式方式编写UI元素,无法被浏览器直接支持,需要预处理器把jsx转为浏览器支持的html标签,这个预处理器就是babel, React没有强制要求使用JSX,但使用JSX编写UI,确实带来很多便利。

法一:脚本加载babel

把下面代码存储为html文件,打开即可看到效果,此法适合项目演示和学习,不适合发布项目。

代码语言:txt
复制
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>Hello World</title>
    <!-- 第一步:加载开发版本的React -->
    <script src="https://unpkg.com/react@17/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>

    <!-- 部署发布时,请用下面链接替代上面 -->
    <!-- <script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js" crossorigin></script> -->

    <!-- 第二步:加载开发版本的babel -->
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

</head>

<body>

    <div id="root"></div>

    <script type="text/babel">
        // 第三步:使用JSX编写UI
        ReactDOM.render(
            <h1>Hello, world!</h1>,
            document.getElementById('root')
        );

    </script>

</body>

</html>
法二:安装babel到项目
  1. 新建项目文件夹:test;
  2. 新建并复制下面代码到test/index.html文件;
代码语言:txt
复制
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>Add React in One Minute</title>
</head>

<body>

    <!-- 第一步:设置父容器 -->
    <div id="like_button_container"></div>

    <!-- 第二步:加载开发版本的React -->
    <script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

    <!-- 部署发布时,请用下面链接替代上面 -->
    <!-- <script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js" crossorigin></script> -->

    <!-- 第三步:加载React组件 -->
    <script src="like_button.js"></script>

</body>

</html>
  1. 在test文件夹下,新建src文件夹;
  2. 在src文件下,新建并复制下面js代码到like_button.js
代码语言:txt
复制
'use strict';
// 第三步:编写组件
class LikeButton extends React.Component {
    constructor(props) {
        super(props);
        this.state = { liked: false };
    }

    render() {
        if (this.state.liked) {
            return 'You liked this.';
        }

        return (
            <button onClick={() => this.setState({ liked: true })}>
                Like-babel
            </button>
        );
    }
}

let domContainer = document.querySelector('#like_button_container');
ReactDOM.render(<LikeButton />, domContainer);
  1. 安装Node.js
  2. 打开terminal,到项目根目录test下,执行下面命令安装babel
代码语言:txt
复制
npm init -y
npm install babel-cli@6 babel-preset-react-app@3
  1. 运行jsx预处理器babel
代码语言:txt
复制
npx babel --watch src --out-dir . --presets react-app/prod
  1. 用浏览器打开index.html,即可看到运行效果。可修改src/like_button.js内容,babel会自动转化src/like_button.js,在项目根目录test生成一个浏览器支持的like_button.js,浏览器刷新index.html,即可看到修改后效果。

五、创建React项目
1、Create React App

可快速创建单页面应用并自动配置好React的开发环境,提供良好的开发体验。但是必须安装 Node >= 14.0.0 和 npm >= 5.6。推荐作为学习实践项目或者单页面项目。

单页面应用(single-page application) 是指加载单个页面,并下载所有必要资源( JavaScript 、CSS等),后续页面的任何交互,都不再需要向 server 请求资源,即页面不会重新加载。

代码语言:txt
复制
# 安装完Node后,在terminal中创建React的单页面应用
npx create-react-app my-app

# 运行此单页面项目
cd my-app
npm start

# 编译项目作为production版本发布
npm run build

2、Next.js

Next.js 是结合了 Node.js 和 React 的轻量级框架,适合场景:静态前端页面+Nodejs服务端,组合的应用。


3、Gatsby

用 React 创建 静态网站 的最佳方式,适合内容型的网站,提供最快的访问速度。项目部署发布时,只需要上传编译后的 public 文件夹到Nginx服务器,即完成部署发布。


五、参考文档:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、React库说明
    • 1、加载React库
    • 2、加载ReactDOM库
  • 二、HTML中使用React
    • 1、HTML配置React环境
    • 2、编写React组件
    • 3、查看效果
  • 三、HTML中使用React和JSX
    • 法一:脚本加载babel
    • 法二:安装babel到项目
  • 五、创建React项目
    • 1、Create React App
    • 2、Next.js
    • 3、Gatsby
  • 五、参考文档:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档