Redux 源码解析
Redux是一个web前端的状态管理库,通用与所有前端页面,并不依赖于什么框架,是一个纯js的项目,其原理和源码比较简单,我们先要理解redux源码,再去看redux-toolkit源码,才能明白redux-toolkit的源码为什么要那么写,然后才能结合react源码理解react-redux的源码。这次我们就先来理解redux的源码。
Redux是一个web前端的状态管理库,通用与所有前端页面,并不依赖于什么框架,是一个纯js的项目,其原理和源码比较简单,我们先要理解redux源码,再去看redux-toolkit源码,才能明白redux-toolkit的源码为什么要那么写,然后才能结合react源码理解react-redux的源码。这次我们就先来理解redux的源码。
今天leetcode的每日一题是和至少为 K 的最短子数组,这道题需要使用前缀和加单调队列。
我们都知道React可以开发一个SPA,也就是单页应用。所谓单页应用,顾名思义,就是整个网站的web前端只有一个html文档。这种应用区别于传统的网站,在web刚开始的发展的时候,不同的页面就对应不同的html,也就是说你能看到几个页面就有几个不同的html,地址栏每次地址的改变都会重新发出一个get请求给服务器,然后请求回来一个不同的html文档。
但是单页应用不需要,甚至说不应该每次路由改变都发送get请求,因为它只有一个页面,那么这种在这种情况下,我们怎么实现路由改变时只更新页面而不发起新的请求的呢,这就要用到react-router。我们一起看一下react-router的使用以及简单的原理介绍。
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。关于Flex布局可以看我的上一篇博客:https://sunra.top/posts/40806/
这篇博客我们继续介绍下一种新的布局:grid布局
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
当然还有一种布局解决方案是grid布局,但本文先就flex进行梳理。
Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力。本文给出了 flexbox 的主要特性,更多的细节将在别的文档中探索。
我们说 flexbox 是一种一维的布局,是因为一个 flexbox 一次只能处理一个维度上的元素布局,一行或者一列。作为对比的是另外一个二维布局 CSS Grid Layout,可以同时处理行和列上的布局。
今天无意间点开了MDN中关于性能优化的系列文章,学到了很多新的东西,也把很多旧的东西重新梳理了一下。
比如HTML不同的类型资源的加载顺序,是否会互相阻塞等问题,又比如学到了一些新的优化方式,如14K优化,dns-prefetch等
这个是入口地址:https://developer.mozilla.org/zh-CN/docs/Web/Performance
给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。你能在 O(N) 时间内只用 O(1) 的空间找到它们吗?
题目链接:https://leetcode.cn/problems/missing-two-lcci/
这道题严格来说并不是一道算法题,我感觉它的解法中,一种像是计算机组成中二进制的知识,一种是数学知识
CSS用了很久,但是对于其中的一些用法总是有些模糊,没有一个系统的,有逻辑的认知。这次就先理清楚一下CSS中的BFC与盒子模型,以及相关的一些定位和布局属性。