乐闻世界logo
搜索文章和话题
主页文章专栏面试题问题

TA的文章

查看更多
如何封装React无限滚动加载列表组件【含源码】

如何封装React无限滚动加载列表组件【含源码】

前言由于需要考虑后端接口的性能问题,我们在请求业务数据列表的时候并不能直接请求全量数据。所以我们在请求数据时常见的方式是做分页查询。对于前端交互而言,我们需要考虑如何优雅的让用户触发请求下一页数据的接口。常用的方法有两种:1.提供显示的分页器,让用户自己手动点击下一页;2.业务滚动到某个阈值时自动触发下一页请求。对于移动端,滚动加载的交互是更加优雅的处理方式。对于滚动加载的能力,我们需要一个公共的
CSS 伪类与伪元素

CSS 伪类与伪元素

伪类可以独立于文档的元素来分配样式,且可以分配给任何元素,逻辑上和功能上类类似,但是其是预定义的、不存在于文档树中且表达方式也不同,所以叫伪类。伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和c
React 内置 Hook 之 useReducer 优雅管理状态

React 内置 Hook 之 useReducer 优雅管理状态

在开发React应用程序时,状态管理一直是一个需我们重点关注的主题。而在React16.8的版本中,新引入的HooksAPI使得我们可以更加方便的在函数式组件中使用状态和其他React特性而无需写class。本文就详细的为你介绍一个非常强大的Hook:useReducer,它为复杂状态的管理提供了出色的解决方案。什么是useReduceruseReducer就如同它的名字暗示的那样,它是一个允许你
 Koa 快速搭建 Web 服务

Koa 快速搭建 Web 服务

Koa快速搭建Web服务创建项目文件夹,并系统终端切到文件夹npminit-ynpminstallkoa写一个最简单的web项目```javascript//引入koaconstKoa=require('koa');//初始化一个koa实例constapp=newKoa();//处理接口请求app.use(async(ctx,next)={ctx.body='levenx`sworld'})app
React 内置 Hook 之 useCallback 深度解析与使用案例

React 内置 Hook 之 useCallback 深度解析与使用案例

ReactHooks引入了一种全新的方式来处理state和其他React特性,让我们可以以更加声明式的风格去编写代码,从而使代码更加易读和可维护。其中,useCallback是一个常被提及但可能被大家误解或未能充分利用的hook。useCallback为我们提供了避免不必要渲染以及记住函数实例的能力,从而在性能优化上给我们开发者带来了新的手段。什么是useCallback简单来说,useCallb
NestJS 如何实现接口多版本控制

NestJS 如何实现接口多版本控制

在持续迭代的现代应用开发中,版本控制是无法绕开的问题。任何对现有接口的修改,如果没有一个有效的版本控制机制,都可能导致应用全局范围的影响。那么,如何实现一个清晰且高效的接口版本控制呢?多版本控制策略希望在设计之初就考虑到,以确保应用具备良好的灵活性和可扩展性。而NestJS的强大功能,就带给我们实现多版本控制的可能。NestJS是一个强大且灵活的Node.js框架,它提供的模块化架构可以让我们为每
前端快速入门Koa.js

前端快速入门Koa.js

插件机制是目前非常流行的拓展能力的设计方式,Koa框架是基于插件机制封装出来的一个Node HTTP框架,我将简单记录一下Koa的插件机制以及丰富的插件。
一篇文章学会如何使用 NestJS 的五种 Provider 提供者

一篇文章学会如何使用 NestJS 的五种 Provider 提供者

在构建复杂的后端应用中,如何有效地管理和彼此协作的各个部分,以及如何共享和复用功能已成为开发者们重要关注的问题。覆盖这些需求的一种技术就是NestJS中的Providers。这次,让我们一起深入探讨这个关键概念,解密Providers的奥秘,了解它们是如何提供和分配服务的。在这篇文章中,我们将学习五种主要的Provider类型:值提供者、类提供者、工厂提供者、异步工厂提供者和别名提供者,以及如何在
基于 NestJS 集成 ElasticSearch 实现模糊搜索功能

基于 NestJS 集成 ElasticSearch 实现模糊搜索功能

Elasticsearch是一个基于Lucene的开源搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch具有高弹性,支持即时和实时的复杂搜索功能。NestJS是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架,它使用TypeScript开发并且结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数响应式编程)。整合E
前端E2E自动化测试方案 - Cypress 入门教程

前端E2E自动化测试方案 - Cypress 入门教程

项目的稳定性是项目迭代过程中最重要的关注点,在Web应用开发中,如何保证程序的高质量,可靠和良好的用户体验是指关重要的。为了达到这些目标,E2E自动化测试是不可或缺的环节。目前市面上流行的E2E自动化框架中,cypress是基于JavaScript编写用例的框架,作为前端开发者,可以轻松接入E2E自动化测试。Cypress为开发者提供了简洁、高效的测试方法,无论是对于初学者还是经验丰富的开发者
React 内置 Hook 之 useRef 深度解析与使用案例

React 内置 Hook 之 useRef 深度解析与使用案例

ReactHooks已经成为了现代React开发中不可或缺的一部分,今天我们来深入研究一个特别有用的Hook——useRef。在这篇文章中,我们将引导你了解useRef的运用,并通过一些实例穿插其中,让你对这个Hook有更深入的理解。什么是useRefuseRef 是React的一个内置Hook,它可以返回一个可改变的ref对象,非常适合用于管理不会触发组件渲染的变量。用官方的话来说,一
从上到下按层打印二叉树

从上到下按层打印二叉树

从上到下按层打印二叉树问题解决方案BFS广度遍历/***Definitionforabinarytreenode.*functionTreeNode(val){*this.val=val;*this.left=this.right=null;*}*//***@param{TreeNode}root*@return{number[][]}*/varlevelOrder=function(root){
前端如何利用单一职责原则(SRP)

前端如何利用单一职责原则(SRP)

前端如何利用单一职责原则(SRP)设计模式单一职责原则(SingleResponsibilityPrinciple,简称SRP)是面向对象设计五大原则(SOLID)之首。它指出,“一个类只应该有一个引起它变化的原因”。换言之,一个类应该只负责一项任务。这个原则同样适用于前端开发,让我们的应用更加模块化,易于维护和扩展。1.理解单一职责原则在前端开发中,我们将“类”这个概念扩展到了组件、模块、函数
「数据结构」树的遍历

「数据结构」树的遍历

functiondfs(root){//dosthdfs(root.left);dfs(root.right);}functiondfs(root){dfs(root.left);//dosthdfs(root.right);}functiondfs(root){dfs(root.left);dfs(root.right);//dosth}...
优化React应用性能:使用React.lazy和Suspense实现代码分割

优化React应用性能:使用React.lazy和Suspense实现代码分割

当我们构建大型React应用时,随着功能的增加,打包后的JavaScript文件往往会变得非常庞大。这将导致用户在初次访问应用时需要等待长时间的页面加载。幸运的是,React提供了一种简洁的解决方案来优化这一问题:React.lazy和Suspense。本文将深入介绍它们的用法,并通过实际案例来演示如何应用这两个强大的特性。React.lazy简介React.lazy是React官方提供的一个内置
JavaScript 实现冒泡排序算法

JavaScript 实现冒泡排序算法

冒泡排序是计算机科学中最简单的排序算法之一,它的基本思想是通过重复遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行直到不需要再交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。本文将介绍如何实现JavaScript中的冒泡排序。实现步骤一、理解冒泡排序冒泡排序工作原理如下:比较相邻的两个元素,如果
Mongoose 如何查询某个字段为空、null、不存在的数据

Mongoose 如何查询某个字段为空、null、不存在的数据

在使用MongoDB数据库进行数据管理时,经常会遇到需要查询某些字段为空或者不存在的文档的情况。Mongoose为MongoDB提供了直观的建模和查询语法。本文将介绍如何在Mongoose中查询具有空字段的文档,确保能够轻松处理各种数据查询需求。MongoDB中的「空」有哪些首先,我们需要理解在MongoDB中,一个字段被认为是空的情况可能有几种不同的状态:字段值为null。字段不存在。字段值为空
Redux-actions 使用方法

Redux-actions 使用方法

前言Redux的诟病是重复的模块代码太多,各路大佬都开始尝试解决这些问题,Redux-actions悄然而生。刚开始使用Redux-actions时遇到一些问题,那么专门写一篇博客全面详细的记录Redux-actions的使用。安装npminstallredux-actions//index.jsximportReactfrom'react';importReactDOMfrom&
在Cypress中如何优雅的管理环境变量Env

在Cypress中如何优雅的管理环境变量Env

如何在Cypress中有效地管理环境变量?为什么环境变量这么重要呢?因为它们可以帮助我们在不同的环境(开发、测试和生产)中运行测试,而不会泄露敏感信息,并且能够轻松地调整配置。Cypress提供了一套灵活的环境变量管理系统,让我们一起学习如何使用。什么是环境变量?在编程中,环境变量通常用于配置程序在不同环境中的行为。在前端测试框架Cypress中,我们可能需要根据不同的环境(例如本地开发环境、C
前端离线存储能力:如何在 React 中巧妙运用IndexedDB

前端离线存储能力:如何在 React 中巧妙运用IndexedDB

当我们开发复杂的Web应用时,常常需要在客户端存储大量数据。你可能听过localStorage或者sessionStorage,但它们在存储空间和功能上都有限。而今天我们要聊的,是一个功能更强大的技术:IndexedDB。IndexedDB是什么IndexedDB是一个运行在浏览器中的非关系型数据库。它让你能够存储大量的数据,并具有高性能的查询能力。不像localStorage只能存储字符串,In

TA的教程专栏

查看更多
TailwindCSS 使用指南

TailwindCSS 使用指南

Tailwind CSS 是一个流行的 CSS 工具库,它提供了一系列预定义的 CSS 类,可以帮助您轻松地创建漂亮的用户界面。本教程将帮助您深入了解 Tailwind CSS 的高级功能和技术,以帮助您更好地利用这个强大的工具库。 在本教程中,您将学习到: 如何使用 Tailwind CSS 的主题和变量来自定义外观和样式; 如何在 Tailwind CSS 中配置和使用插件来扩展其功能; 如何在 Tailwind CSS 中使用 JS 钩子和样式函数来创建动态样式; 如何在 Tailwind CSS 中创建响应式布局和样式; 如何在 Tailwind CSS 中使用 PurgeCSS 来优化和精简 CSS。 本教程适合那些已经有一定 Tailwind CSS 开发经验,并想要深入了解其高级功能和技术的开发人员。无论您是初学者还是有一定经验的 Tailwind CSS 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 Tailwind CSS 进阶之旅吧!
Typeorm 使用指南

Typeorm 使用指南

TypeORM 是一个流行的 TypeScript ORM(对象关系映射)库,它可以帮助您轻松地将 TypeScript 类映射到关系型数据库表。本教程将帮助您深入了解 TypeORM 的高级功能和技术,以帮助您更好地利用这个强大的库。 在本教程中,您将学习到: 如何使用 TypeORM 中的高级查询和过滤功能来查询和操作数据库; 如何使用 TypeORM 中的实体继承和关系映射来创建复杂的数据模型; 如何使用 TypeORM 中的迁移和数据填充来管理数据库模式和数据; 如何在 TypeORM 中使用存储过程和触发器来扩展数据库功能; 如何在 TypeORM 中使用多数据库和分布式事务来管理复杂的应用程序。 本教程适合那些已经有一定 TypeORM 开发经验,并想要深入了解其高级功能和技术的开发人员。无论您是初学者还是有一定经验的 TypeORM 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 TypeORM 进阶之旅吧!
如何打造属于自己的React组件库

如何打造属于自己的React组件库

随着组件化开发成为前端开发的主流,拥有一套定制化的React组件库变得极其重要。本系列教程将指导你如何设计、开发和维护一个React组件库,不仅满足项目需求,而且易于共享和复用。我们将从React组件的基础知识开始,逐步讲解如何构建可复用组件、如何管理组件状态和生命周期、以及如何通过Prop Types和TypeScript进行类型检查。此外,你还将学习到如何利用Storybook来展示组件、使用Jest和Enzyme进行单元测试,以及如何将你的组件库发布到npm。 通过本系列教程的学习,你将获得创建自己React组件库的全部技能,为你的开发工作带来前所未有的效率和乐趣。
Mongoose 使用指南

Mongoose 使用指南

在本教程中,我们将逐步探索Mongoose——一个在Node.js环境下与MongoDB数据库协同工作的强大库。从基本概念的铺垫到实用技巧的深度剖析,本系列覆盖了Schema设计、数据类型定义、模型创建、查询优化、插件扩展等核心主题。你将学习如何利用Mongoose的Schema来定义数据结构,实现数据验证和类型转换,以及如何通过模型进行数据的增删改查操作。 此外,教程将深入Mongoose的高级特性,包括但不限于索引管理、聚合框架、事务处理和数据迁移。我们将通过丰富的示例和练习,教你如何运用Mongoose来处理复杂查询、关联数据以及性能调优。 随后,本系列教程将深入讨论更高级的特性,如中间件(pre和post hooks)、数据校验、虚拟属性和实例方法,以及如何使用聚合管道进行复杂查询。此外,我们将详细介绍如何处理关系型数据,在Mongoose中实现文档的嵌入和引用,以及如何优雅地处理这些关系。 为了将理论与实践相结合,每一部分内容都包含了逐步的代码示例和实战小项目,帮助你更好地理解和运用Mongoose的功能。我们还会讨论性能调优、错误处理和最佳实践,以确保你能够构建既健壮又高效的Node.js应用。
CSS 入门指南

CSS 入门指南

CSS 是一种用于描述文档样式和布局的样式表语言,它是 Web 开发中不可或缺的一部分。本教程将帮助您从零开始学习 CSS,了解其基本概念和语法,并逐步深入学习其高级特性和实践技巧。 在本教程中,您将学习到: CSS 基础知识,如选择器、盒模型、布局等; CSS 颜色、字体、背景和边框等样式属性的使用; CSS 媒体查询和响应式设计的实现; CSS 动画和过渡的实现技巧; CSS 预处理器,如 Sass、Less 的使用; CSS 框架,如 Bootstrap、Tailwind CSS 的使用。 本教程适合那些想要从零开始学习 CSS 的初学者。无论您是 Web 开发新手还是有一定经验的开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 CSS 入门之旅吧!
React 入门宝典

React 入门宝典

React 是一个流行的 JavaScript 库,用于构建大规模、高性能的 Web 应用程序。本教程将帮助您从 React 的基础知识入门开始,逐步深入掌握 React 的高级概念和技术,以成为一名优秀的 React 开发人员。 在本教程中,您将学习到: React 的基础概念和核心原则,如组件、Props、State、生命周期等; 如何使用 JSX 语法编写 React 组件和模板; 如何使用 React 的事件处理、表单处理、样式管理等功能; 如何使用 React Router 实现单页应用程序; 如何使用 Redux 进行状态管理和数据流控制; 如何使用 React 的高级技术,如 Hooks、Context、Portal 等。 本教程适合那些已经有一定 JavaScript 编程经验,并希望进一步学习 React 技术的开发人员。无论您是初学者还是有一定经验的 React 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 React 之旅吧!
Web项目国际化通关手册

Web项目国际化通关手册

React 国际化是指将应用程序适配到不同的语言和地区的过程。在全球化时代,为您的应用程序提供多语言支持将为您的用户提供更好的用户体验,并帮助您扩大全球市场。本教程将帮助您学习如何在 React 应用程序中实现国际化。 在本教程中,您将学习到: React 国际化的基本概念和原则; 如何使用 React Intl 库来实现国际化; 如何在 React 中处理多语言文本、日期、时间和货币等; 如何在 React 中实现动态文本替换; 如何在 React 中切换不同的语言版本; 如何测试和调试国际化应用程序。 本教程适合那些已经有一定 React 开发经验,并想要扩展其应用程序的全球化能力的开发人员。通过本教程,您将学习如何使用 React Intl 库和其他现有工具来实现国际化,从而为您的应用程序提供更广泛的用户群和更好的用户体验。 让我们开始您的 React 国际化之旅吧!
Nodejs 学习指南

Nodejs 学习指南

这是一套全面的Node.js学习指南,覆盖了从基础知识到高级应用的全部必备技能。本教程系列将带领你进入Node.js的世界,一个强大而灵活的JavaScript运行时环境,它让JavaScript不仅仅能在浏览器中运行。你将了解到如何设置Node.js环境、利用npm管理包,以及如何构建第一个应用程序。随着课程的深入,我们会探讨异步编程模型、中间件、RESTful API设计、数据库集成、安全性、测试以及性能优化等进阶主题。 无论你是初学者还是有志于成为全栈开发者,本教程都将为你提供一个扎实的Node.js学习基础和实践路径。
NestJS 最佳实践手册

NestJS 最佳实践手册

在这个全面的NestJS最佳实践手册中,我们将一起探索如何使用NestJS这个强大的Node.js框架来构建可维护、可扩展的企业级应用。从NestJS的基本概念和架构出发,到深入了解其依赖注入、模块化和微服务等核心功能,本手册将为你提供一系列的专业指导和实用技巧。 我们将讨论如何有效地利用TypeScript的强类型能力,如何整合ORM以实现数据库操作,以及如何应用中间件、守卫、过滤器和拦截器来增强应用的安全性和性能。 通过实际案例和模式分析,这本手册不仅会教你如何编写代码,更重要的是教你如何思考NestJS应用的设计和结构,让你成为在现代后端开发领域中的专家。
Nextjs 全栈开发手册

Nextjs 全栈开发手册

在这个系列教程中,您将踏上一段探索 Next.js 的精彩旅程。Next.js 是一款基于 Node.js 和 React 的现代化框架,专为构建快速、静态生成和服务器端渲染的Web应用而设计。无论您是前端新手还是经验丰富的开发者,本教程都将以步骤分解的方式带领您从基础概念到高级功能,全面了解 Next.js 的核心特性。 我们将从 Next.js 的安装和基本配置开始,逐步深入到路由、状态管理、构建优化以及部署策略。通过实际案例,您将学会如何利用 Next.js 提升开发效率,提高应用性能,并构建出具有优秀SEO表现和用户体验的Web应用。 随着本系列教程的深入,您将掌握 Next.js 最佳实践,与此同时,我们还将涵盖如何整合RESTful API和GraphQL、使用静态站点生成(SSG)与服务器端渲染(SSR)的先进技术,以及如何借助 Vercel 等平台,实现无缝的生产部署。 让我们一起开启这次学习之旅,探索 Next.js 带来的无限可能,为您的前端技能树添上一笔重要的一笔。

TA的问题

查看更多

TA的面试题

查看更多
个人成就
  • 获得 0 次点赞
  • 内容获得 0 次评论
  • 获得 0 次收藏