摘要: 引言 前进刷新,后退不刷新,是一个类似app页面的特点,要在单页web应用中做后退不刷新,却并非一件易事。 为什么麻烦 spa的渲染原理(以vue为例):url的更改触发onHashChange/pushState/popState/replaceState,通过url中的pathName去匹配路由 阅读全文
posted @ 2021-09-27 18:23 陌上兮月 阅读(2696) 评论(2) 推荐(1) 编辑
摘要: 序言 本文会侧重于TypeScript(以下简称TS)在项目中与React的结合使用情况,而非TS的基本概念。关于TS的类型查看可以使用在线TS工具👉TypeScript游乐场 React元素相关 React元素相关的类型主要包括ReactNode、ReactElement、JSX.Element 阅读全文
posted @ 2021-04-21 16:08 陌上兮月 阅读(2583) 评论(0) 推荐(3) 编辑
摘要: jsbridge 的概念 人们希望有一个中间层,它用来管理原生 native 和 h5 的通信问题,这个中间层就叫做 jsBridge。 严格来说 jsBridge 它并不是一个具体的东西,它只是一种约定的双向通信方式。之所以能建立约定,是因为 native 和 h5 都可以访问同一个 window 阅读全文
posted @ 2021-04-06 10:48 陌上兮月 阅读(1713) 评论(0) 推荐(1) 编辑
摘要: 前言 在离职之后,我开始静下心来,思考原来在繁重的业务开发节奏中无暇思考的一些问题,本期的主题是纯函数钩子useReducer和共享状态钩子useContext。 什么是reducer函数? 在react中,reducer函数是一个很重要的概念。它表示一个接收旧状态,返回新状态的函数。 const  阅读全文
posted @ 2021-03-30 16:32 陌上兮月 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 序言 这一节,将会主要介绍两个钩子:useCallback和useMemo,以及对自定义hooks的理解。 useCallback,反复渲染解决之道 无限请求的“怪象” 在介绍这个钩子之前,先来看一段react初学者很容易写出来的代码: const [detail, setDetail] = use 阅读全文
posted @ 2021-03-30 13:50 陌上兮月 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 写在开头 React Hooks在我的上一个项目中得到了充分的使用,对于这个项目来说,我们跳过传统的类组件直接过渡到函数组件,确实是一个不小的挑战。在项目开发过程中也发现项目中的其他小伙伴(包括我自己)有时候会存在使用不当的情况,因此对官方的几个钩子函数做一个较为全面的总结。 函数式组件出现的原因 阅读全文
posted @ 2021-03-30 11:30 陌上兮月 阅读(1009) 评论(0) 推荐(1) 编辑
摘要: 关于模块化 说一说 js 模块化这回事儿吧。 一开始 js 并没有模块化这个概念,但是没有模块化在应对一些大型前端应用开发时是非常不好管理的。所以社区催生出了一个野生模块化规范,叫做CommonJS。至今这个规范仍然被应用在 NodeJS 中。 后来,ECMA 也意识到了模块化是必须的,在 ES6 阅读全文
posted @ 2021-03-26 20:37 陌上兮月 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 要求 写一个函数,接收一个数组,数组里面的子元素均为执行后能返回Promise对象的函数,要求这些函数按顺序依次执行,最终输出顺序执行的结果。 // 6s后输出[1,2,3] const funcArr = [ () => new Promise((resolve) => { setTimeout( 阅读全文
posted @ 2021-03-26 20:32 陌上兮月 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: 啥是React Fiber? React Fiber,简单来说就是一个从React v16开始引入的新协调引擎,用来实现Virtual DOM的增量渲染。 说人话:就是一种能让React视图更新过程变得更加流畅顺滑的处理手法。 我们都知道:进程大,线程小。而Fiber(纤维)是一种比线程还要细粒度的 阅读全文
posted @ 2021-02-18 16:01 陌上兮月 阅读(1421) 评论(0) 推荐(0) 编辑
摘要: 关于 setState setState 的更新是同步还是异步,一直是人们津津乐道的话题。不过,实际上如果我们需要用到更新后的状态值,并不需要强依赖其同步/异步更新机制。在类组件中,我们可以通过this.setState的第二参数、componentDidMount、componentDidUpda 阅读全文
posted @ 2021-01-17 22:20 陌上兮月 阅读(1553) 评论(2) 推荐(1) 编辑