React入门(1)——我的第一个React.js项目

embedded/2024/10/17 19:26:59/

创建日期: 2020年2月22日
官网
中文官方文档
React入门系列 目录导引

一.使用create-react-app命令创建

React 官方提供了一个脚手架用于初始化React项目,使用 create-react-app 可以简化手动设置流程。 官方网站的 Tutorial 也是以此为例。
注意:项目命名时,不支持大写字母。

STEP 1:
$ npm install -g create-react-app
$ create-react-app my-app

或者,npm版本在5.2.0+ 可以使用 npx 命令,简洁

$ npx create-react-app my-app

运行成功后,最后一句是“Happy hacking!”。
使用 create-react-app ,你只需要执行命令之后等待安装完依赖,就可以创建一个已经配置好的 React 应用程序,并可以基于此开始你的项目开发。创建成功后,项目文件夹如下:


项目文件夹
STEP 2:

进入项目目录,启动项目

$ cd my-app
$ npm start

我使用的$ yarn start启动项目。关于npm和yarn的区别
这里说一下,笔者在启动现存代码的时候,发现居然所有步骤都正确,画面是空白的。然后笔者刷新了一下画面,就可以了。
<br >

二.使用webStorm创建React项目

打开webStorm,File → New → Project... → React App
选好路径,填上项目名,点击Create,创建新项目。
如下图:


webstorm

项目刚创建时,先出现package.json, yarn.lock,然后node_modules文件夹。继续自动运行之后,出现了初始项目的完整文件夹。

运行时,直接点击run按钮即可。

以上,部分参考https://zhuanlan.zhihu.com/p/36137966 该链接里面提到项目初始化,其中npm init会对package.json进行修改,如果没有package.json这个文件,会自动生成,但是在生成过程中,entry point必须填写,否则会出现Aborted的错误提示,文件不会被生成。链接的作者,最后一次编辑是在2018年5月份,不知道是否这期间react的版本更新原因,笔者创建的新项目,已经自动拥有package.json这个文件,并不需要通过npm init对项目初始化。之后的开发过程中,是否需要,待定。。。

三.已有工程中,导入react

如果你希望在老项目中引入 React,或着探究 React 到底是怎么运行起来的。那就需要自己动手来配置了。我们使用 Babel 和 Webpack 来解决这个问题。

笔者没有老项目,这部分,之后再补吧。。。参考

下面这个链接,涉及到Babel和Webpack这两个概念,说的比较细致,可以参考。https://segmentfault.com/a/1190000016661311

四.扩展——显示Hello world!

我们找到项目的启动文件src/index.js,将文件所有内容替换成下面代码:

import React from 'react'import ReactDOMfrom 'react-dom'ReactDOM.render(<h1>Hello, world!</h1>,document.getElementById('root')
);

运行,之后会看见界面显示Hello world。

我们观察下上述语法,待你多写几个demo的时候,你会发现,最后要先启动哪个界面,是由

ReactDOM.render(parameter,document.getElementById('root'));

的parameter决定的。

'root'是根DOM节点,想要将一个 React 元素渲染到根 DOM 节点中,只需把它们一起传入 ReactDOM.render()。详细

下一篇:React入门(2)–––React中使用css / less文件

======================== 分割线 ==========================
http://huziketang.mangojuice.top/books/react/lesson7
看阮一峰的教程:http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html
创建第一个components:https://www.jianshu.com/p/324fd1c124ad

最后编辑于:2024-10-01 17:42:04


喜欢的朋友记得点赞、收藏、关注哦!!!


http://www.ppmy.cn/embedded/128245.html

相关文章

#### failed to build some targets (12 seconds) ####

[TOC](#### failed to build some targets (12 seconds) ####) 问题分析解决 这个要注意看log信息&#xff0c;是代码出错了 Error: xx/rk3568-evb.dtsi:188.27-28 syntax error FATAL ERROR: Unable to parse input tree需要根据报错的提示去找问题

Flume面试整理-常见的Sink类型

Apache Flume中的Sink(汇)用于将数据从Channel(通道)中读取并发送到目标存储系统或处理系统。Flume支持多种类型的Sink,以下是Flume中常见的Sink类型及其特点: 1. HDFS Sink ● 描述:将数据写入Hadoop分布式文件系统(HDFS)。常用于日志数据的批量存储和后续处理。 ● …

VMWare NAT 模式下 虚拟机上不了网原因排查

vmware 按照了Linux之后 无法上网&#xff0c;搞定后&#xff0c;记录一些信息。 window有两个虚拟网卡 VMnet1 对应的是 Host-Only&#xff08;仅主机模式&#xff09; VMnet8 对应的是 NAT&#xff08;网络地址转换模式&#xff09; 在NAT模式中&#xff0c;需要设置NAT和D…

UDP反射放大攻击防范手册

UDP反射放大攻击是一种极具破坏力的恶意攻击手段。 一、UDP反射放大攻击的原理 UDP反射放大攻击主要利用了UDP协议的特性。攻击者会向互联网上大量的开放UDP服务的服务器发送伪造的请求数据包。这些请求数据包的源IP地址被篡改为目标受害者的IP地址。当服务器收到这些请求后&…

深度学习:循环神经网络 --- LSTM网络原理

LSTM网络的介绍 循环神经网络&#xff08;Recurrent Neural Networks&#xff0c;RNN&#xff09;是一种用于处理序列数据的神经网络&#xff0c;它能够处理任意长度的序列&#xff0c;并且能够保持对之前数据的记忆。LSTM&#xff08;Long Short-Term Memory&#xff09;网络是…

字符串(3)_二进制求和_高精度加法

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 字符串(3)_二进制求和_高精度加法 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目…

Application independent protocol

14.3 应用程序选择程序 14.3.1 使用EFDIR文件的应用程序选择 使用EFDIR文件的应用程序选择是终端读取EFDIR文件内容&#xff0c;并向用户展示应用程序列表的过程&#xff0c;用户可以选择一个或多个应用程序进行激活。 终端执行读取EFDIR的操作&#xff0c;并向用户展示它支持的…

Attention Is All You Need论文翻译

论文名称 注意力即是全部 论文地址 https://user.phil.hhu.de/~cwurm/wp-content/uploads/2020/01/7181-attention-is-all-you-need.pdf 摘要 主流的序列转导模型基于复杂的递归或卷积神经网络&#xff0c;这些网络包含编码器和解码器。性能最好的模型通过注意力机制将编码器和…