距离我接触 react 已经过去几个月了,在此期间,关于如何避免重复渲染的问题一直困惑着我,因此今天就来聊聊这个话题。 在讲述如何进行性能优化之前,我们先来谈谈 React 为什么会重新渲染。 React 为什么会重新渲染 状态改变是 React 树内部发生更新的唯二原因之一。 import { useState } from "react"; const App = () => { let [color, setColor] = useState("red"); return ( <input v...
本文部分概念通过作者自己理解来叙述,可能存在一些错误,毕竟我也是萌新,还请多多指点~ 此前在我学习 js 的过程中一直有一个疑惑:其明明是一个单线程语言,为何会存在异步的概念?这不是自相矛盾吗? 单线程的 JS 事实上 js 的确是单线程的,如果是只是从 js 这门语言上来说,异步的确是不存在的 。我们平日所谓的异步其实是依靠浏览器的两个或者两个以上的常驻线程来完成的(nodejs 则是 libuv)。按我的理解来说就是 js 其实是伪异步,其异步的实现是依靠运行环境。 任务队列和事件循环 new Promise((re...
英语在江苏五年制专转本是很重要的一环,可很不巧的是我英语目前只有小学生水平,为了后年的转本考试能够顺利通过,我尝试通过 FREE高考英语陶然老师 的网课在暑假里进行学习。 话不多说,我们先来聊聊动词。 基本概念 我们应该知道如下几个概念 动词是句子的核心,没有动词就是没有句子的。 动词在句子中会分为谓语和非谓语 一个句子必须是要有谓语的,但可以没有非谓语 谓语要体现时态的变化和主被动形态的变化 非谓语补充句意,不用形态具有不同含义 谓语动词 我平日里一直绕不清的时态就是根据谓语动词来变形的,下面是几个常用时态以及主被动变化 <im...
早在去年 Vue3 的正式版就发布了,但其周边生态的跟进却较为缓慢,当我们有 SSR 的需求时,可能会去选择 react 的 nextjs 来完成。但最近 Nuxt3 进入了 rc.3 版本了,据官方所说在 6 月份就要发布稳定版了,也是时候该去学习下了。其实早在 1 个月前的 beta版本我就接触过了,只不过启动报错直接劝退,看来现在已经修复了那个 bug。 CSR 与 SSR 那么客户端渲染 CSR 与 服务端渲染 SSR 有什么区别呢? CSR 我们平日里用写的 Vue 项目,一般在打包后会生成 dist 文件夹,里面会有只有一个标签 `<div i...
先说下我的黑历史 我是 2022 年初开始接触 web 前端的(先前写过 Android ),当时我有极其少量的三件套基础,便直接开启了前端工程化的学习。显然这个决定是愚蠢的,要知道当时我连 es6 都不了解,看着 Vue 的官方文档更是一脸懵逼,就这样懵懵懂懂靠记忆 api 的方式学习了Vue的基础知识后,发现三件套基础是多么的重要。于是我便恶补了下 js 基础,看了下红宝书,可以说对js有了个重新的认识。 重温 js 以外还有个大坑等着我去填,那莫非就是 CSS 了。可惜我的 CSS 基础可能比js还拉垮,几个基础布局傻傻分不清,对响应式系统更是一脸懵逼。这肯定是不行的。于是最近重...
今年智能家居安装与维护中职组省赛还有1个多月就要开始了,作为一名负责Android开发的蒟蒻,来介绍一下刚更新的SmartHomeV5包源码吧~ 其实V5包的源码并不难理解,结合代码片段的注释是很好理解的,我先给出我所写好的示例 示例 public class MainActivity extends AppCompatActivity { String name,time; double temperature,humidity,illumination; Handler handler; @Override prote...
自我介绍 大家好呀,欢迎来到我的博客🥳,正如这个域名所示,我的名字叫 suemor,今年18岁,目前是一只正在学习前端的萌新,下面就来简单聊聊自己。 校园经历 从小我的性格就十分内向(lNFJ-T),非常不善于与他人交流,导致身边没有什么朋友。 MBTI 16型人格 不幸的是,我的中考成绩并不理想,只有当地的平均分水平,只能沦落到去垃圾技校的地步。因为较小我就对计算机感兴趣,希望能在技校里学到点东西,我便不假思索的选择了计算机专业,然而现实却给了我一巴掌。即便是当地录取分数线最高...
最近尝试在Vue3中使用TSX开发一些小玩具。不出所料,还是遇到许多问题的,尝试写一篇博客来记录一下。 TSX支持 Vue3项目中集成tsx还是很简单的,只需要安装官方维护的vite插件pnpm install @vitejs/plugin-vue-jsx -D,然后在vite配置文件中use一下即可。 import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from "@vitejs/plugin-vue-jsx"; expor...
最近正在学习 Vue3,尝试把一些重点和踩过的坑给记录下来。 准备 首先我们使用npm init vue@latest来创建一个 Vue3 项目,本文所使用的是 Ts+Vite 的组合,开发工具为 Vscode,Vscode 推荐使用插件Vue Language Features(Volar),这个插件改过名称,实际就是官方推荐的 Volar。另外请关闭 Vetur 等连体插件,因为 Volar 已经集成 Vetur 的功能,而且 ...