React全家桶:模块化与组件化--开发者工具的安装--函数式组件

简介: React全家桶:模块化与组件化--开发者工具的安装--函数式组件

写在前面

在最近看了React之后,一直觉得学的懵懵然,虽然b站下面评论区有很多大佬的手写笔记,写的都很不错,但是我一直没有我想要的那种细无巨细,比如类式组件this指向问题的追根溯源,又比如三大实例属性简写的由来,总之我还是决定自己二刷张天禹老师的视频。做一份事无巨细的笔记。

那就让我们开始吧!


模块化与组件化

模块

1. 理解:向外提供特定功能的js程序, 一般就是一个js文件

2. 为什么要拆成模块:随着业务逻辑增加,代码越来越多且复杂。

3. 作用:复用js, 简化js的编写, 提高js运行效率


组件

1. 理解:用来实现局部功能效果的代码和资源的集合(html/css/js/image等等)

2. 为什么要用组件: 一个界面的功能更复杂

3. 作用:复用编码, 简化项目编码, 提高运行效率


模块化

当应用的js都以模块来编写的, 这个应用就是一个模块化的应用


组件化

当应用是以多组件的方式实现, 这个应用就是一个组件化的应用


开发者工具的安装

  • 应用商店安装

搜索React Developer Tools


  • 本地添加

记得打开开发者模式,选中添加的文件即可。

插件右下角会标识这个插件的安装来源是商店还是第三方文件。


  • 插件图标

显示红色就代表项目没有打包上线,处于开发者模式。


  • 未上线

微信截图_20221112122832.png


  • 已经上线

微信截图_20221112122935.png


函数式组件

<script type="text/babel">
        //1.创建函数式组件
        function MyComponent(){
                console.log(this); //此处的this是undefined,因为babel编译后开启了严格模式
                return <h2>我是用函数定义的组件(适用于【简单组件】的定义)</h2>
        }
        //2.渲染组件到页面
        ReactDOM.render(<MyComponent/>,document.getElementById('test'))  
</script>
复制代码


  1. 注意:
  • ReactDOM.render这里要写标签,不能直接写函数名
  • 函数名要大写
  • 函数标签要自闭合
  1. 使用插件查看函数标签

微信截图_20221112123006.png


  1. this指向

console.log(this); 此处的this是undefined,因为babel编译后开启了严格模式


  1. 执行过程

执行了ReactDOM.render(.......之后,发生了什么?

1.React解析组件标签,找到了MyComponent组件。
2.发现组件是使用函数定义的,随后调用该函数,将返回的虚拟DOM转为真实DOM,随后呈现在页面中。



目录
相关文章
|
3月前
|
前端开发 JavaScript
React_函数式Hooks和Class比较优缺点
React Hooks与Class组件都能返回JSX并接收props,但Hooks无`this`指向问题,用`useEffect`模拟生命周期,`memo`优化性能,状态更新用`useState`;Class组件通过生命周期方法、`PureComponent`或`shouldComponentUpdate`优化,状态用`this.state`和`this.setState`管理。
38 1
React_函数式Hooks和Class比较优缺点
|
3月前
|
前端开发 JavaScript
React中函数式Hooks之useRef的使用
React中函数式Hooks的useRef用于获取DOM元素的引用,示例代码演示了其基本用法。
37 3
|
4月前
|
前端开发
React函数式组件props的使用(六)
【8月更文挑战第14天】React函数式组件props的使用(六)
71 1
React函数式组件props的使用(六)
|
3月前
|
前端开发
React中函数式Hooks之useEffect的使用
本文通过示例代码讲解了React中`useEffect` Hook的用法,包括模拟生命周期、监听状态和清理资源。
59 2
React中函数式Hooks之useEffect的使用
|
2月前
|
前端开发 JavaScript CDN
React 安装(CDN)
10月更文挑战第6天
59 2
|
2月前
|
前端开发 JavaScript 开发者
React 组件化开发最佳实践
【10月更文挑战第4天】React 组件化开发最佳实践
62 4
|
2月前
|
资源调度 前端开发 JavaScript
React 安装(NPM)
10月更文挑战第6天
73 1
|
2月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
707 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
3月前
|
缓存 前端开发
React中函数式Hooks之memo、useCallback的使用以及useMemo、useCallback的区别
React中的`memo`是高阶组件,类似于类组件的`PureComponent`,用于避免不必要的渲染。`useCallback` Hook 用于缓存函数,避免在每次渲染时都创建新的函数实例。`memo`可以接收一个比较函数作为第二个参数,以确定是否需要重新渲染组件。`useMemo`用于缓存计算结果,避免重复计算。两者都可以用来优化性能,但适用场景不同:`memo`用于组件,`useMemo`和`useCallback`用于值和函数的缓存。
104 1
|
3月前
|
前端开发
React中函数式Hooks之useState的使用
本文介绍了React中函数式组件的Hooks——`useState`的使用方法。`useState`允许在函数式组件中使用状态,它返回一个数组,其中包含当前状态的值和更新该状态的函数。文章通过示例代码展示了如何声明状态变量和更新状态变量,包括对数值和对象状态的更新。此外,还展示了如何通过点击按钮触发状态更新,实现交互功能。
42 1
下一篇
DataWorks