【手写组件库之日历组件教程第一篇】基于React实现日历组件详细教程日历组件是常见的日期时间相关的组件,围绕日历组件设计师做出过各种尝试,展示的形式也是五花八门。但是对于前端开发者来讲,主要我们能够掌握核心思路,不管多么奇葩的设计我们都能够把它做出来。本文将详细分析如何渲染一个简单的日历组件。在线演示DEMOhttps://calendar.levenx.com/#/simple-calendar实现步骤计算每个月中具体包含的日期因为日历需要把当前月的每一天都展
前端 · 阅读 5074 · 2023年8月24日 22:06

一篇文章学会如何使用 NestJS 的 管道Pipes 实现高效的数据转换和验证如果你是一个正在学习NestJS的开发者,那么这篇文章将会为你展示如何通过管道来进行数据验证和转换,你会发现这是一个强大的工具,能够极大地提高你的开发效率。对于已经熟悉NestJS的开发者,本文的内容也会帮助你更好地理解和应用管道的概念。什么是NestJS的管道(Pipes)?NestJS管道(Pipes)是NestJS框架的一部分,它主要是用于处理和解析来自客户端的输入数据,然后将数据传递给请求
服务端 · 阅读 9548 · 2024年1月2日 00:12

CSS 选择器以及选择器的优先级CSS选择器是CSS用于选择HTML元素并应用具体样式属性的语法。CSS选择器有许多种类型,本文会详细列举所有的选择器并举例说明具体用法以及CSS选择器权重计算和CSS生效属性分析。CSS选择器1.标签选择器2.类选择器3.ID选择器4.属性选择器5.伪类选择器6.子选择器7.后代选择器8.相邻兄弟选择器9通配符选择器。css选择器优先级权重计算...
前端 · 阅读 5316 · 2023年5月28日 00:57

在 TypeScript 中如何遍历 Enum 的两种方式TypeScript中有一个JavaScript中没有的声明关键字,即enum,在TypeScript项目开发过程中,我发现使用枚举enum的概率是极高的。枚举是一种特殊的数据类型,它允许开发者定义一个静态变量集合。枚举类型帮助开发者清晰的预设集合中的变量,并且不允许运行时修改,这为程序运行提供了可预测性和稳定性的保障。在开发过程中,我们经常遇到需要遍历对象中所有属性的情况,对于特殊的枚举en
前端 · 阅读 3372 · 2023年12月26日 22:11

Flutter 的三棵树渲染机制和原理详解当我们谈论到Flutter的性能和流畅性时,不得不提到它的渲染机制,这背后的核心是Flutter的三棵树:Widget树、Element树和Render树。理解这三棵树的构建和交互方式对于深入理解Flutter的工作原理至关重要。在本文中,我们将详细探讨这三棵树的概念、相互关系以及它们如何共同作用来渲染出一个Flutter应用。1.Widget树Widget树是Flutter应用中最基础的概念之
前端 · 阅读 1838 · 2024年7月3日 22:24

你了解扫码登录的本质和原理吗?你了解扫码登录的本质和原理吗?我们日常生活中会使用到各种各样的系统,比如微信,qq,哔哩哔哩等等。这些系统都是要求登录的,登录的方式也有好几种方式,常见的登录方式有表单登录,扫码登录,移动端三方授权登录等。登录的本质是什么呢?我认为登录的本质就是服务器确认用户的身份,并且授予客户端身份证,比如token,sessionId。用户确认身份后才进行进一步的操作,比如订单功能,收藏功能等等。本文介绍一下
前端 · 阅读 1985 · 2022年6月13日 00:48

基于 React 封装网络状态变化的 Hook,轻松监听网络变化随着移动互联网的普及,用户对Web应用的网络连接状态变得越来越敏感。无论在地铁隧道还是偏远地区,不稳定或缺失的网络连接都是常态。因此,为了提供无缝的用户体验,构建一个能够智能响应网络状态变化的应用变得至关重要。本文将介绍如何使用ReactHooks来轻松创建一个网络状态监听器,从而让您的应用能够优雅地应对网络的波动。使用ReactHook监听网络状态变化初始化Hook结构创建一个新文件useNet
前端 · 阅读 3879 · 2024年2月22日 23:31

pnpm 如何切换不同的版本在JavaScript项目开发时,我们可能会遇到需要在不同版本的包管理器之间切换的情况,无论是因为项目要求,还是个人喜好,这都是一个非常实用的技能。pnpm是一种高效的包管理工具,它通过硬链接和去重的方式来优化存储空间和加快安装速度。但是,随着时间的推移,你可能需要切换pnpm的版本以兼容不同的项目。本文将介绍如何实现版本的切换。实现方式一、安装pnpm版本管理器首先,你需要安装一个能够管理pnp
前端 · 阅读 4581 · 2024年5月12日 12:11

