0基础进大厂,React框架基础篇:创建你的第一个React框架项目——梦开始的地方

引言

作为前端初学者,切了这么多页面,在不知道你是否会有疑问------有很多相同的HTML结构,比如导航栏、侧边栏等待,但是一个页面要有一个HTML文件,但是你知道完全没有必要再写一遍,所以你选择Ctrl+CV,但是这并没有减少重复的代码,并且要修改时,所有的代码都要修改。所以你想过没有,有没有一个东西可以复用某些代码,让项目结构更简洁、健壮。

前置基础知识

js里如何导入其他js文件里的函数

默认抛出

创建文件1.js

javascript 复制代码
function add(a, b) {
    return a + b
}
export default add

创建文件2.js 在2.js里,通过第一行代码,引入文件1.js里的函数add

sql 复制代码
import add from './1.js';
console.log(add(1, 2));

把一个文件当作一个对象抛出

修改文件1.js

css 复制代码
export function add(a, b) {
    return a + b
}

修改文件2.js

csharp 复制代码
import { add } from './1.js'; // 对象解构,注意解构语法,这里函数同名
console.log(add(1, 2));

多页应用

  • 每个页面都是一个HTML文件
  • 页面之间的共同模块无法共用

单页应用

  • 整个项目只有一个HTML文件
  • 所有的所谓页面,其实都是一个代码片段,通过 js 来控制显示哪个代码片段

所以,今天开始,认识一个新朋友------React

可以创建一个新的文件夹,从这个空文件开始你的react学习之路。

在这个文件夹下,输入指令:
npx create-react-app 项目名

这样,就成功创建了一个react项目

输入指令,启动项目(注意要在项目目录下):
npm start

成功启动后,可以看到这个经典页面:

目录结构

  • node_modules (创建这个项目所需要的所有第三方的工具的源代码)
  • public 公共目录
  • src 开发目录

public

现在,除了index.html文件,其他的你都可以删了。这个HTML文件就是整个项目唯一的HTML文件

可以看到,整个HTML,只有一个id=root的div元素

src目录

除了index.js,其他的文件都可以删了。 在index.js文件里,可以先删成这个样子

然后,我们在src目录下,再创建一个App.js文件

输入以下的内容,注意我们是默认抛出函数App的,在上面的前置基础知识有介绍

再修改index.js里的内容,我们也应该先导入App 这样,我们就可以看到如下页面

总结

  • 我们介绍了为react的引入做了一些铺垫,介绍了一些基础知识
  • 我们简单聊了一下如何创建react项目,以及react项目结构
  • 我们还把一些当前无关的文件删了,仅保留了最基础的文件,成功在页面上渲染了一些文字
  • 可以想到,这个App.js就是一个组件,未来,我们就是通过写多个js文件来完成项目的开发,这与传统的三件套截然不同
相关推荐
摘星编程35 分钟前
React Native + OpenHarmony:UniversalLink通用链接
javascript·react native·react.js
qq_177767371 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头88211 小时前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
2601_949593653 小时前
基础入门 React Native 鸿蒙跨平台开发:卡片组件
react native·react.js·harmonyos
qq_177767374 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767374 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
烬头88215 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos
qq_177767375 小时前
React Native鸿蒙跨平台通过Animated.Value.interpolate实现滚动距离到动画属性的映射
javascript·react native·react.js·harmonyos
●VON6 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
qq_177767377 小时前
React Native鸿蒙跨平台实现消息列表用于存储所有消息数据,筛选状态用于控制消息筛选结果
javascript·react native·react.js·ecmascript·harmonyos