1.2k1 分钟

# JS 表达式 在 React 当中,尤其是在其函数式组件当中,在 return 中返回的必须都是 JS 表达式 ,不能是 JS 代码 。这也就意味着,一切的条件渲染、复杂逻辑渲染,必须只能通过 JS 表达式 来完成。 表达式是 JavaScript 的一个单元,它可以被计算并产生一个值。表达式可以是简单的,如一个数值、字符串、或者是更复杂的操作,比如函数调用、对象字面量、数组操作等。 在 React 中,表达式非常常见,因为它们可以被直接嵌入到 JSX 中。例如,你可以在 JSX 中使用 {} 来嵌入一个表达式,React 会计算这个表达式并将结果渲染到 DOM
6.3k6 分钟

# 组件间通信 无论是 Vue 还是 React,都是把一个 SPA 拆分成多个 components,将其按照一定的风格与样式进行组装而形成一整个页面,各个组件之间有其相对独立的数据与状态。 Vue 相较于 React 而言,它的各个组件之间的独立性更强大;React 由于是数据(状态)驱动视图的更新,并且组件之间是呈现一种 “组件树” 的关系,因此所谓的组件父子关系在 React 中体现的更加明显,相应的组件之间的数据传递也是重中之重的功能。 在 Vue 里面,说起父传子我们想起 Props ,说起子传父我们想起 Emits ,说起兄弟之间传参我们就想到利用一个公共组件等等,而这些在 Re
9.8k9 分钟

# react-router-dom 是什么? 我们都知道 Vue 中官方钦定的路由跳转库就是 vue-router,而在 React 当中则是 react-router-dom 这个库。它们长得很像,用法也有共通之处。 react-router-dom 是一个用于在 React 应用中实现路由功能的库。它允许你建立一个单页面应用(SPA)的路由系统,通过这个系统,用户可以导航到应用的不同部分,而无需重新加载页面。这对于创建快速响应的用户界面非常有帮助。 react-router-dom 提供了一系列组件和 Hooks,使得在应用中添加路由和处理导航变得简单直观。 不过和 vue-rout
7.8k7 分钟

# Redux 是什么? 由于我是学 Vue 出身的,了解到 React 中的这款状态管理工具的时候很自然的就类比到我经常接触的 Vue 中的状态管理工具 ——Pinia。在稍稍的了解一遍过后,我发现两者的使用方式其实相差不大,只不过 Pinia 更开箱即用一点,而 Redux 需要比较多的 “流水线” 操作来初始化、取数据、调用方法改数据,每一步都需要调用固定的 Hook 来处理。 Redux 是一个用于 JavaScript 应用的状态管理工具,它可以与 React 以及其他 JavaScript 库或框架一起使用。Redux 的设计思想非常简单,主要基于以下几个核心概念: 单一数据源
7.7k7 分钟

# 前言 Hexo 是一个快速、简洁且高效的博客框架。 Hexo 使用 Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。并且搭配各种各样丰富的 主题(theme) ,可以让你的博客更加美观,也可以让自己在编写博客的时候更加愉快。 除了 hexo 之外,也还有如 Astro 之类的快速博客框架,不过这篇文章主要介绍的是我自己搭建博客的历程,也就是使用 hexo+shokaX 主题搭建一款个人博客。shokaX 主题不仅样式精美,而且提供了很多非常人性化的配置,可以说是给我体验最好的一款主题。 而之所以要写这一篇文章,也正是因为我在基于这个主题搭建的过程中遇到
8.1k7 分钟

# 一、前言 在 Nest.js 中,有一个非常非常鲜明的特点,就是几乎全方面的采用了 装饰器 (Decorator) 作为接口的封装,以实现 AOP 面向切面编程的编程范式。再结合其用依赖注入的形式实现了控制反转,使得整个框架和 SpringBoot 在形式上越来越接近。 那么,既然提到了装饰器,就不得不先聊一聊 AOP 面向切面编程究竟是什么,再来探讨一下 Decorator 具体是怎么实现的 AOP。 # 二、AOP 面向切面编程 AOP(Aspect-Oriented Programming,面向切面编程) 是一种编程范式,旨在将 横切关注点(cross-cutting conce
4.3k4 分钟

# 一、前言 在对 Nest.js 的介绍中提到了其以控制反转(IOC)和依赖注入(DI)为其设计理念的核心思想,因此我们有必要好好讨论一下 IOC 和 DI 到底是什么东西,尤其是 它们在 TypeScript 当中到底是怎么体现的? # 二、控制反转(IOC) 控制反转(IoC, Inversion of Control)是一种设计原则,在软件工程中用于减少代码之间的耦合度。这个原则的核心在于将传统程序中的流程控制权从程序本身转移给被调用的框架或库。 # IoC 的核心概念 传统的控制流:在传统的程序设计中,程序中的每一部分负责控制自己的行为。比如,一个主函数可能会依次调用不同的模块来执
4.1k4 分钟

# 一、Nest.js 简介 Nest.js 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。它 完全使用 TypeScript 编写 ,但同时也 兼容纯 JavaScript 。Nest.js 结合了 OOP(面向对象编程) 、 FP(函数式编程) 和 FRP(函数响应式编程) 的特点。 其完全支持 TypeScript,并且结合了 面向切面(AOP) 的编程方式。 Nest.js 具有 Spring MVC 的风格,其中有 依赖注入 、 控制反转 等;而这些都是 借鉴了 Angualr 的成果。 先来看看在 Angular 当中,依赖注入(DI)和控制反转(IoC)是怎么体现的:
4.1k4 分钟

# 一、前言 有一说一,这可以说是我近期最糟糕的面试体验。我本来就没什么经验,紧张的要死,面对面试官强迫着自己不要紧张堆出来笑脸,可我对面的我感觉不是个人坐在那里,就是一个无情的问题提出机。他问我一个问题,我叽里呱啦讲了半天,中途我不对的地方没有帮我指出,甚至一声不吭,对我的发言完全没有任何的反应,马上又给了我下一个问题,让我感觉他是不是赶着下班?是不是不太想面我? 总而言之,这次面试到后面连我自己都不耐烦起来了,对这样的一个面试官我的发挥自然也不能算好。 讲一下题吧,总共才 40min 左右,问了一堆: # 二、题目列表 自我介绍 你平常是怎么学习前端的? 说了平常用 GitHub
13k12 分钟

# 一、前言 上个星期心血来潮,暑假带领一个小团队参加了字节跳动第六届前端青训营的进阶班并且在最后的大项目决赛当中取得了优秀奖,让我的信心有着前所未有的提升 —— 因此趁着刚开学无事,自己向身边的前辈请教了简历的编写和排版之后也准备了一份看得过去的但是仍有很多漏洞的前端开发简历,希望能够找一下实习丰富自己的实际工作与项目经历。 上个星期准备完了之后,直接在 Boss 和字节的内推投了几份简历。字节的内推投的是: 广告前端(全栈)开发实习生 - Ads Infra 岗位,因为我认为我有着一定的 Node.js 实际开发经历。我以为至少一周多之后才会给我答复吧?我趁着等待的时间先好好准备一下面试