自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 收藏
  • 关注

原创 如何使用Claude(超详细教程)

大功告成,到此结束!

2023-06-29 14:28:13 24809 13

原创 使用Laf云平台,两步将机器人接入微信公众号

chatgpt把刚才保存的接口地址复制到服务器URL这里,下边的token与云函数代码中的token保持一致,下边的EncodingAESKey点击右侧随机生成就行,然后点击提交。首先默认你有一个公众号,然后登录微信公众平台,点开左侧的设置与开发,点击基本设置,服务器配置那里点击修改配置。可以说已经满大街可见了,到处都有各种各样的体验地址,有收费的也有免费的,总之是五花八门、花里胡哨。然后我们点击函数,函数列表右侧的加号,新增一个可以介入微信公众号的chatgpt云函数。注册登录之后,点击新建,建立一个应用

2023-03-31 10:15:33 13659 47

原创 数据结构与算法-最长公共子序列

最长公共子序列是指在两个序列中,按照顺序出现但不一定连续出现的最长子序列。例如,字符串ABCBDAB和BDCABA的最长公共子序列是BCBA或BDAB,长度为 4。

2024-06-04 17:12:01 351

原创 数据结构与算法-快速排序

快速排序(Quick Sort)是一种基于分治思想的排序算法。它通过将数组分成较小的子数组,然后递归地对子数组进行排序,最终将整个数组排序。快速排序的关键步骤是选择一个基准元素(pivot),并将数组中小于基准的元素放在基准的左边,大于基准的元素放在基准的右边,然后对左右两个子数组分别进行排序。

2024-06-04 17:10:59 310

原创 100vh问题及解决方案

100vh问题通常出现在移动端浏览器中,尤其是当你使用100vh设定元素高度时。这是因为移动端浏览器在显示视口高度时会包括地址栏和工具栏,这些栏在滚动时会隐藏,从而导致视口高度发生变化,影响布局。

2024-06-03 15:30:21 738 1

原创 如何评价GPT-4o?

最近,GPT-4o横空出世。本文将对GPT-4o这一人工智能技术进行全面评价,包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。

2024-05-31 17:35:51 673

原创 数据结构与算法-二分查找

二分查找(Binary Search)是一种在有序数组中查找某个元素的位置的算法。它通过每次将查找范围减半来缩小搜索范围,从而大大提高查找效率。

2024-05-31 17:29:10 430

原创 数据结构与算法-合并两个有序链表

有序链表是指其中的节点按值递增或递减排列的链表。合并两个有序链表是指将两个已经排序好的链表合并成一个新的有序链表。

2024-05-31 17:28:28 435

原创 数据结构与算法-反转单链表

在介绍问题之前,我们先简单了解一下单链表。单链表是一种线性数据结构,由一系列节点组成,每个节点包含两个部分:存储数据的部分和指向下一个节点的指针。链表的第一个节点称为头节点,最后一个节点的指针指向null,表示链表的结束。

2024-05-29 15:37:29 426

原创 数据结构与算法-有效的括号

在许多编程语言中,括号用于定义代码块、函数参数等。确保这些括号正确匹配是编译器的重要任务之一。而在算法面试中,这个问题常用来考察你的基本数据结构和逻辑思维能力。

2024-05-29 15:36:11 411

原创 Pinia和Vuex有什么区别?

Vuex是一个以前官方支持的Vue.js状态管理库,专门设计用于Vue.js应用程序。它提供了一个集中式的存储来管理应用程序的所有组件之间共享的状态。Vuex的核心概念包括state(状态)、mutations(变更)、actions(动作)和getters(获取器)。state: {count: 0},},actions: {}, 1000)},getters: {})在选择Pinia或Vuex时,你需要考虑你的项目需求和Vue.js版本。

2023-11-02 16:40:50 312

原创 面试题-React(二十): 受控组件和非受控组件

React是一种流行的JavaScript库,用于构建用户界面。在React中,表单元素(如输入框、复选框、下拉框等)是构建交互式用户界面的重要组成部分。React提供了两种主要的方法来处理表单元素:受控组件(controlled components)和非受控组件(uncontrolled components)。本文将深入探讨这两种方法,介绍它们的概念、特点以及在实际开发中的应用。

2023-10-31 15:46:39 332

原创 面试题-React(十九):React Hook

当React 16.8版本引入Hooks时,它引入了一种新的方式来在函数组件中处理状态和副作用,这种方式称为"Hook"。从React 16.8开始,Hooks已成为React开发的标准方式,可以在函数组件中处理复杂的逻辑,无需引入类组件。在React 16.7之前,函数组件是无状态的,无法包含内部状态。React Hook是一种函数,它可以让您“钩入”React的状态和生命周期特性,以及执行副作用操作。用于在函数组件中添加状态。这些函数可用于在函数组件中引入React的特性,而无需使用类组件。

2023-10-27 17:50:12 681

原创 面试题-React(十八):一文学会 React Router

React Router是一个用于管理React应用中导航和路由的库。它允许开发者在单页面应用(SPA)中创建多个页面,每个页面对应一个不同的URL。组件用于将URL的根路径(“/”)映射到Home组件,将"/about"路径映射到About组件。有时,您需要从URL中获取参数以便在组件中使用。接下来,您需要在应用中配置React Router。在React Router中,如果想要实现嵌套路由,我们可以使用。组件表示一个URL模式与相应的组件之间的映射。在React Router中,通常使用。

2023-10-25 16:14:50 589

原创 如何使用claude-新

此步骤不再详述,不会的可以参考。

2023-10-20 10:13:59 1279 5

原创 面试题-React(十七):如何使用RTK进行状态管理

函数允许开发者定义一个包含了Reducer和Action Creators的“切片”(slice),大大简化了Reducer的编写和Action的创建。Redux Toolkit是一个由Redux官方团队开发和维护的库,旨在解决传统Redux配置中的一些常见问题。它提供了一组工具和约定,使Redux的配置和编写更加直观和高效。函数提供了一个简单的方法来创建Redux的store,包括了自动生成的中间件和开发工具设置。RTK的工具和约定大大简化了Redux的配置和使用,减少了样板代码。

2023-10-20 09:26:36 529 2

原创 面试题-React(十六):理解Redux及其工作原理

Redux是一个JavaScript状态管理库,用于管理应用中的状态(state)。它通过将应用的状态集中存储在一个单一的状态树中,以及通过不可变的方式来更新状态,来解决状态管理的复杂性。Reducer是一个纯函数,它接收当前的状态和一个Action作为参数,并返回一个新的状态。Redux是一个广泛使用的状态管理库,可以帮助开发者更有效地管理应用的状态。Redux的整个应用状态存储在一个单一的状态树中,使得状态变化易于追踪和管理。Redux的状态变化是通过纯函数来执行的,保证了状态的变化是可预测的。

2023-10-19 16:36:44 903

原创 面试题-React(十五):React中的CSS编写方案及推荐

它兼具了普通CSS文件和CSS-in-JS的优点,通过在组件中引入局部作用域的CSS类名,避免了全局样式冲突问题,又保持了CSS的可读性。此外,CSS模块允许使用现代的CSS语法,使得样式编写更加灵活,同时也不需要引入额外的JavaScript库。在React开发中,如何组织和编写CSS是一个常见的问题,React官方并没有一种固定的CSS编写方式,所以在目前的React开发中可能存在各种各样不同的编写CSS风格。使用CSS模块,将CSS代码与组件关联,避免全局污染,确保样式只作用于特定组件。

2023-10-18 10:25:57 653

原创 面试题-React(十四):什么是高阶组件(HOC)及其作用

这个新的组件具有一些增强的特性或功能。通过高阶组件,我们可以为组件添加额外的功能,如数据获取、认证、日志记录等。高阶组件在包装组件时可能会传递额外的props,需要确保这些props不会与原组件的props冲突。高阶组件可以帮助组件共享状态,比如将一些全局的状态传递给多个组件,从而实现状态的共享和管理。高阶组件可能引起命名冲突,因为它们会为包装后的组件创建一个新的类名。高阶组件可以基于一些条件来控制组件的渲染,从而实现动态的组件呈现方式。以下是一个示例,展示了如何创建一个高阶组件来增强一个普通组件的功能。

2023-10-17 10:35:07 728

原创 面试题-React(十三):React中获取Refs的几种方式

通过Refs,我们可以在React中获取到底层的DOM节点或组件实例,并进行一些操作。Refs的使用场景包括但不限于:访问DOM属性、调用组件方法、获取输入框的值等。通过回调函数,在组件渲染时可以将DOM元素或组件实例的引用存储在实例变量中。钩子来获取Refs。是早期版本中获取Refs的一种方式,但在React 16.3后被废弃,不推荐使用。是在类组件中获取Refs的现代方式,通过创建Ref对象来引用DOM元素或组件实例。钩子是在函数组件中获取Refs的推荐方式,同时也适用于存储不引起重新渲染的数据。

2023-10-16 10:53:16 811

原创 面试题-React(十二):React中不可变数据的力量

不可变数据意味着数据一旦创建,就不能被更改。在React中,每次对数据的修改都会返回一个新的数据副本,而不会改变原始数据。在React中,组件的State也应该保持不可变。每次更新State时,都应该返回一个新的State对象,而不是直接修改原始State。在React中,组件的Props应该始终保持不可变。这意味着在父组件向子组件传递Props时,不应该直接修改传递的数据。由于Props是不可变的,子组件不能直接修改。在上述代码中,父组件向子组件传递了。,但这样的做法不是推荐的。

2023-10-13 09:26:14 928

原创 面试题-React(十一):性能优化之PureComponent和memo

随着应用的复杂性增加,React组件的渲染可能成为性能瓶颈。为了确保应用的高性能和流畅用户体验,我们需要采取一些措施来优化组件的渲染。都基于浅比较的原理,只有在状态或属性发生实际变化时才会触发重新渲染。但需要注意的是,当属性包含复杂的对象或数组时,浅比较可能会失效。包裹的函数组件,它会自动执行浅比较,从而避免不必要的重新渲染。方法,实现了一个自动的浅比较,判断组件是否需要重新渲染。是React提供的一个用于性能优化的组件类。属性时,它会自动避免不必要的重新渲染。是用于函数组件的高阶组件,它类似于。

2023-10-10 14:40:49 328

原创 Github主页添加贪吃蛇小组件

效果图。

2023-10-09 09:29:37 802

原创 面试题-React(十):setState为什么使用异步机制?

的异步特性和React的异步渲染机制是为了提高性能、优化用户体验和保持内部一致性。同时,异步渲染也使得React能够实现更多创新和改进,从而为开发者和用户带来更好的体验。例如,在用户正在输入时,可以将输入框的渲染优先级提高,以保持用户体验。异步渲染是React的一个重要特性,它可以在不阻塞用户界面的情况下更新UI。异步渲染可以将UI更新分解成小块,减少用户感知的界面卡顿,提高响应性。操作合并并在合适的时机一次性更新,可以避免频繁的渲染,提升性能。是异步的,React会在合适的时机进行更新,以优化性能。

2023-10-08 16:26:26 740

转载 antdesign 使用锚点组件和哈希路由冲突

在react项目开发中,有场景需要使用锚点组件,但是react项目使用的又是哈希路由, 锚点组件的item 会被渲染成a标签,通过herf属性, 和被定位元素的id来做锚点定位,所以就导致了,点击item会改变地址栏的url, 所以在使用锚点时通过onClick 事件的事件对象 MouseEvent.preventDefault();

2023-09-20 10:03:12 215

原创 控制台报错it looks like an unknown prop “***“ is being sent through to the DOM

**意思是我们向DOM传输了一个未知的prop变量,触发了React的警告,想要消除警告我们可以安装类似于的插件或者在传入的变量前加符号,我这里采用加符号解决(注意从props取值时也要加。

2023-09-19 10:12:56 426

原创 export default报错Assign instance to a variable before exporting as module default import/no-anonymo

意思是我们在导出模块之前应该把它赋值给一个变量。

2023-09-12 09:33:18 508

原创 面试题-React(九):React的Context:实现非父子组件通信

在React中,组件之间的通信是构建复杂应用的关键问题之一。虽然React的数据流通常是自上而下的,即从父组件传递给子组件,但有时我们需要实现非父子组件之间的通信。为了解决这个问题,React引入了Context,这是一种可以跨层级传递数据的机制。Context是一种全局状态管理的解决方案,它允许我们在组件树中共享数据,而不需要通过props层层传递。Context通常被用于在组件之间共享通用的数据,例如主题、用户登录状态等。这可以在任何地方完成,但通常我们会在一个单独的文件中定义Context。

2023-09-11 17:09:19 572

原创 面试题-React(八):React如何实现插槽?

插槽是一种让组件变得更加灵活和可复用的技术。它允许我们在组件内部预留一些位置,然后在组件使用时填充这些位置,实现外部内容的嵌套。React实现作用域插槽还是使用props传值,只不过是要传递一个回调函数用来接收参数。这是一种最简单的插槽实现方式,父组件通过props将内容传递给子组件。注意:若是传递多个元素,children则为数组类型。属性,它可以用于访问组件的嵌套内容。React组件有一个特殊的。

2023-09-01 17:13:48 1787

原创 面试题-React(七):React组件通信

在React开发中,组件通信是一个核心概念,它使得不同组件能够协同工作,实现更复杂的交互和数据传递。在上述示例中,实现了一个tab切换的效果,父组件将信息传给子组件,子组件通过触发回调传递点击tab的下标实现切换效果。父组件向子组件传递数据是React中最常见的一种通信方式。子组件向父组件传递数据或触发事件是另一种常见的通信方式。通过在子组件内部定义回调函数,然后将这个回调函数传递给子组件,子组件在合适的时机调用这个函数来传递数据。当子组件内部的按钮被点击时,会调用这个回调函数并将数据传递给父组件。

2023-08-28 14:40:49 1373

原创 面试题-React(六):React组件和生命周期

React组件是构建用户界面的基本单元。它们将界面拆分成独立、可重用的部分,使得代码更加模块化、可维护性更高。React组件可以是函数组件或类组件,它们接收输入的数据(称为props)并返回表示用户界面的React元素。

2023-08-24 18:06:17 729

原创 面试题-React(五):Babel解析JSX的过程?

Babel是一个广泛应用的JavaScript编译工具,用于将新版本的JavaScript代码转换为旧版本的代码,以确保在不同浏览器和环境中都能正常运行。AST是抽象语法树的缩写,是一种用于表示代码结构的树状数据结构。

2023-08-23 17:02:30 1085

原创 面试题-React(四):React中的事件绑定如何实现?有几种方式?

的机制,将底层的浏览器原生事件进行封装,从而实现跨浏览器的一致性。在React中,事件绑定是通过JSX语法来实现的。箭头函数的特性使得它能够自动绑定当前上下文,无需额外的绑定步骤。在构造函数中绑定事件处理函数并显式地将。在构造函数中绑定事件处理函数需要额外的代码,稍显繁琐,但是官方推荐的一种方式。,使得代码更加清晰,这种方式还有一个好处就是传参数很方便。在传递参数时更加方便,可以在箭头函数内部传递任意参数。当触发相应事件时,绑定的事件处理函数将被调用。语法简洁,自动绑定当前上下文,无需额外的绑定步骤。

2023-08-21 10:40:43 1265 1

原创 什么是室温超导?室温超导意味着什么?

7月22日,韩国一个科学团队发布论文声称“实现了室温超导”,引发了全球关注,全球很多科学实验室都开始着手按照论文来进行实验,尝试验证论文的真实性,因为如果真的可以实现室温超导,那么影响真的太大了。然而,8月2日,该研究团队的成员表示,论文存在缺陷,系团队中的一名成员擅自发布,目前团队已要求下架论文。

2023-08-21 10:39:10 237

原创 面试题-React(三):什么是JSX?它与常规JavaScript有什么不同?

在React的世界中,JSX是一项引人注目的技术,它允许开发者在JavaScript中嵌套类似HTML的标签,用于描述UI组件的结构。本篇博客将通过丰富的代码示例,深入探索JSX语法,解析其在React中的用法和优势。

2023-08-18 17:00:32 721

原创 面试题-React(二):React中的虚拟DOM是什么?

虚拟DOM是React的核心概念之一,它是一个轻量级的JavaScript对象树,用于表示真实DOM的状态。在React中,当数据发生变化时,首先会在虚拟DOM上执行DOM更新,而不是直接操作真实DOM。然后,通过比较前后两个虚拟DOM的差异,最小化真实DOM的操作,从而减少页面重绘的次数,提高性能。虚拟DOM的结构类似于真实DOM,每个虚拟DOM节点都有标签名、属性、子节点等信息。React使用虚拟DOM来跟踪组件的状态变化,保持UI与状态的同步。

2023-08-17 14:56:30 1234

原创 面试题-React(一):React是什么?它的主要特点是什么?

React是一个用于构建用户界面的JavaScript库,它主要专注于构建可复用的组件。通过使用React,开发人员可以构建功能丰富、响应迅速且易于维护的单页面应用(SPA)和动态用户界面。React采用组件化开发模式,它的核心理念是将UI划分为独立、可重用的组件,这使得应用程序的开发变得更加模块化和灵活。React是一个强大而受欢迎的前端开发库,它的组件化架构、虚拟DOM、单向数据流、JSX语法、生命周期方法和丰富的生态系统,使得它成为构建现代Web应用程序的理想选择。

2023-08-14 11:24:35 1041

原创 探索CSS计数器:优雅管理网页元素的计数与序号

CSS计数器是CSS中的一种特性,它允许开发者在样式表中定义一些变量(即计数器),并将其应用到HTML元素上。这样就可以在页面中实现各种计数、序号和标记,而无需使用JavaScript或手动编写HTML。CSS计数器通过和属性来创建和管理计数器,并通过content属性来将计数器的值插入到网页中。DOCTYPE html > < html lang = " en " > < head > < style > /* 创建计数器 */ body {} /* 递增计数器 */ ul li {

2023-08-04 16:24:04 623

原创 Tailwind CSS:简洁高效的工具,提升前端开发体验

是由Adam Wathan、Jonathan Reinink、David Hemphill和Steve Schoger等人共同创建的一种现代CSS框架。与传统的CSS框架不同,Tailwind CSS并没有预定义的组件或样式,而是提供了一系列简洁的CSS工具类,允许开发者通过将这些工具类应用于HTML标记中,来快速构建页面和应用程序的UI。这种方式被称为"Utility-First"的CSS开发模式。

2023-08-04 16:23:21 1242

原创 面试题-TS(十):如何处理可选属性和默认参数?

在TypeScript中,可选属性是指在定义接口或类时,指定某些属性不是必须的,可以存在也可以不存在。使用可选属性可以让我们定义更灵活的数据结构,允许对象中包含额外的属性,而不会报错。在接口中,我们可以在属性名后面加上?来定义可选属性。在类中,我们可以在属性声明时赋予undefined初始值,也可以在构造函数参数中使用?来指定可选属性。// 定义接口 interface Person {age?: number;// 可选属性 } // 定义类 class MyClass {age?

2023-07-28 11:07:15 2795

使用Laf云平台,两步将ChatGPT接入微信公众号

无需域名服务器,操作简单

2023-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除