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,随后呈现在页面中。



目录
相关文章
|
16天前
|
前端开发 JavaScript
React_函数式Hooks和Class比较优缺点
React Hooks与Class组件都能返回JSX并接收props,但Hooks无`this`指向问题,用`useEffect`模拟生命周期,`memo`优化性能,状态更新用`useState`;Class组件通过生命周期方法、`PureComponent`或`shouldComponentUpdate`优化,状态用`this.state`和`this.setState`管理。
29 1
React_函数式Hooks和Class比较优缺点
|
16天前
|
前端开发 JavaScript
React中函数式Hooks之useRef的使用
React中函数式Hooks的useRef用于获取DOM元素的引用,示例代码演示了其基本用法。
31 3
|
2月前
|
前端开发
React函数式组件props的使用(六)
【8月更文挑战第14天】React函数式组件props的使用(六)
34 1
React函数式组件props的使用(六)
|
16天前
|
前端开发
React中函数式Hooks之useEffect的使用
本文通过示例代码讲解了React中`useEffect` Hook的用法,包括模拟生命周期、监听状态和清理资源。
35 2
React中函数式Hooks之useEffect的使用
|
16天前
|
缓存 前端开发
React中函数式Hooks之memo、useCallback的使用以及useMemo、useCallback的区别
React中的`memo`是高阶组件,类似于类组件的`PureComponent`,用于避免不必要的渲染。`useCallback` Hook 用于缓存函数,避免在每次渲染时都创建新的函数实例。`memo`可以接收一个比较函数作为第二个参数,以确定是否需要重新渲染组件。`useMemo`用于缓存计算结果,避免重复计算。两者都可以用来优化性能,但适用场景不同:`memo`用于组件,`useMemo`和`useCallback`用于值和函数的缓存。
44 1
|
16天前
|
前端开发
React中函数式Hooks之useState的使用
本文介绍了React中函数式组件的Hooks——`useState`的使用方法。`useState`允许在函数式组件中使用状态,它返回一个数组,其中包含当前状态的值和更新该状态的函数。文章通过示例代码展示了如何声明状态变量和更新状态变量,包括对数值和对象状态的更新。此外,还展示了如何通过点击按钮触发状态更新,实现交互功能。
27 1
|
23天前
|
前端开发
react学习(15)函数式组件中使用props
react学习(15)函数式组件中使用props
|
2月前
|
前端开发 JavaScript 数据可视化
使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮的柱状图DIY组件
本文展示了如何使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮效果的自定义柱状图组件,并提供了完整的示例代码和实现效果。
59 1
使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮的柱状图DIY组件
|
1月前
|
存储 前端开发 JavaScript
react 组件化
【9月更文挑战第2天】react 组件化
32 5
|
16天前
|
缓存 前端开发
React中函数式Hooks之useMemo的使用
React的`useMemo` Hook 用于优化性能,通过记忆返回值避免重复计算。它接收一个函数和一个依赖数组,只有当依赖项改变时,才会重新计算被记忆的值。这可以用于避免在每次渲染时都进行昂贵的计算,或者防止子组件不必要的重新渲染。例如,可以在父组件中使用`useMemo`包裹子组件,以依赖特定的props,从而控制子组件的渲染。
26 0