会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
🌜
blog11
首页
管理
上一页
1
2
3
4
5
6
7
···
13
下一页
2021年4月20日
shell 使用 cat 配合 EOF 创建文件并写入多行内容
摘要: 之前折腾 GtiHub Actions 想实现提交 issue 后将 issue 的内容生成一个 Markdown 文件提交到仓库,从而实现自动发布到 GitHub Pages 的目的。倒是有一些现成的 Action,但无法完全满足要求,所以自己尝试写一个 wayou/turn-issues-to-
阅读全文
posted @ 2021-04-20 20:48 bloger11
阅读(1228)
评论(0)
推荐(0)
2021年4月19日
JavaScript 中对象解构时指定默认值
摘要: 待解构字段为原始值 正常情况下, const obj = { a: 1, b: 2, }; const { a, b } = obj; console.log(a, b); // 1 2 当被解构字段缺失时, const obj = { a: 1, }; const { a, b } = obj;
阅读全文
posted @ 2021-04-19 19:26 bloger11
阅读(8250)
评论(1)
推荐(2)
2021年4月18日
Array.prototype.fill 填充值被复用的问题
摘要: 考察如下示例代码: // 创建二维数组 const arr = Array(2).fill([]); // 操作第一个元素 arr[0].push(1); // 结果是操作了所有数组 console.log(arr); // [ [ 1 ], [ 1 ] ] 和 new 不 new 关系,以下代码问
阅读全文
posted @ 2021-04-18 18:31 bloger11
阅读(301)
评论(0)
推荐(0)
2021年4月16日
Recoil Input 光标位置被重置到末尾的问题
摘要: 考察如下代码,页面中有个输入框,通过 Recoil Atom 来存储输入的值。 App.tsx function NameInput() { const [name, setName] = useRecoilState(nameState); return ( <> <input type="tex
阅读全文
posted @ 2021-04-16 18:07 bloger11
阅读(392)
评论(0)
推荐(0)
2021年4月14日
TypeScript 扩展全局 Window 时报错的解决
摘要: 使用全局 window 上自定义的变更进,TypeScript 会报属性不存在, console.log(window.foo) // ❌ Property ‘foo’ does not exist on type 'Window & typeof globalThis'.ts(2339) 需要将自
阅读全文
posted @ 2021-04-14 12:10 bloger11
阅读(5184)
评论(0)
推荐(0)
2021年4月13日
Recoil 中默认值的正确处理
摘要: 继续使用 Recoil 默认值及数据级联的使用 的地域可用区级联的例子。 地域变更后可用区随之联动,两个下拉框皆默认选中第一个可选项。 从 URL 获取默认值 考虑这种情况,当 URL 中带了 query 参数指定地域时,想要默认选中指定的地域。 首先安装一个解析 query 的库 query-st
阅读全文
posted @ 2021-04-13 19:11 bloger11
阅读(299)
评论(0)
推荐(0)
2021年4月12日
Recoil 中多级数据联动及数据重置的合理做法
摘要: 前情回顾 书接上回,前面引出了在数据存在级联的情况下,各下拉框之间的默认值及值变化的处理。简单回顾一下: 场景是: 地域下拉决定可选的可用区 默认选中第一个地域,通过设置 atom 的 default 字段 默认选中该地域下第一个可用区,通过设置 atom 的 default 字段 问题: 手动选择
阅读全文
posted @ 2021-04-12 18:56 bloger11
阅读(394)
评论(0)
推荐(0)
2021年4月9日
Recoil 默认值及数据级联的使用
摘要: Recoil 中默认值及数据间的依赖 通过 Atom 可方便地设置数据的默认值, const fontSizeState = atom({ key: 'fontSizeState', default: 14, }); 而 Selector 可方便地设置数据的级联依赖关系,即,另一个数据可从现有数据进
阅读全文
posted @ 2021-04-09 21:00 bloger11
阅读(414)
评论(0)
推荐(0)
2021年4月8日
Recoil 的使用
摘要: 通过简单的计数器应用来展示其使用。先来看没有 Recoil 时如何实现。 首先创建示例项目 $ yarn create react-app recoil-app --template typescript 计数器 考察如下计数器组件: Counter.tsx import React, { useS
阅读全文
posted @ 2021-04-08 22:57 bloger11
阅读(1495)
评论(0)
推荐(0)
2019年10月15日
CSS ellipsis 与 padding 结合时的问题
摘要: CSS 实现的文本截断 考察如下代码实现文本超出自动截断的样式代码: .truncate text 4 { overflow: hidden; text overflow: ellipsis; display: webkit box; webkit box orient: vertical; web
阅读全文
posted @ 2019-10-15 23:48 bloger11
阅读(1426)
评论(1)
推荐(2)
利用 SASS 简化 `nth-child` 样式的生成
摘要: 考察如下的 HTML 片段,通过 CSS 的 nth child() 伪选择器实现列表的颜色循环,比如每三个一次循环。 <ul> <li>1</li> <li>2</li> <li>3</li> <li>
阅读全文
posted @ 2019-10-15 03:05 bloger11
阅读(4101)
评论(2)
推荐(2)
2019年10月12日
`http-equiv` meta 标签
摘要: 来看以下有趣的代码, <!DOCTYPE html> <html lang="en"> <head> <meta http equiv="refresh" content="1" /> <title>refresh every 1 s<
阅读全文
posted @ 2019-10-12 22:51 bloger11
阅读(601)
评论(0)
推荐(0)
Currying 及应用
摘要: Currying,中文多翻译为柯里化,感觉这个音译还没有达到类似 Humor 之于幽默的传神地步,后面直接使用 Currying。 什么是 Currying Currying 是这么一种机制,它将一个接收多个参数的函数,拆分成多个接收单个参数的函数。 考察下面的代码: function add (a
阅读全文
posted @ 2019-10-12 00:50 bloger11
阅读(862)
评论(0)
推荐(2)
2019年10月10日
从 axios 源码中了解到的 Promise 链与请求的取消
摘要: axios 中一个请求取消的示例: axios 取消请求的示例代码 import React, { useState, useEffect } from "react"; import axios, { AxiosResponse } from "axios"; export default fun
阅读全文
posted @ 2019-10-10 01:02 bloger11
阅读(1533)
评论(0)
推荐(2)
2019年10月8日
理解 Redux 的中间件
摘要: 将该思想抽象出来,其实和 Redux 就无关了。问题变成,怎样实现在截获函数的执行,以在其执行前后添加自己的逻辑。 为了演示,我们准备如下的示例代码来模拟 Redux dispatch action 的场景: const store = { dispatch: action => { cons
阅读全文
posted @ 2019-10-08 23:54 bloger11
阅读(1143)
评论(0)
推荐(1)
2019年9月29日
React + TypeScript 实现泛型组件
摘要: 泛型类型 TypeScript 中,类型(interface, type)是可以声明成泛型的,这很常见。 interface Props<T> { content: T; } 这表明 Props 接口定义了这么一种类型: 它是包含一个 content 字段的对象 该 content 字段
阅读全文
posted @ 2019-09-29 10:16 bloger11
阅读(21839)
评论(0)
推荐(1)
2019年9月27日
git clone 仓库的部分代码
摘要: 对于较大的代码仓库来说,如果只是想查看和学习其中部分源代码,选择性地下载部分路径中的代码就显得很实用了,这样可以节省大量等待时间。 比如像 Chromium 这种,仓库大小好几 G 的。 clone 仓库中部分路径下的代码分三步, 本地初始化一个空仓库,将目标仓库 git 地址设置成远端 origi
阅读全文
posted @ 2019-09-27 23:34 bloger11
阅读(5509)
评论(0)
推荐(1)
2019年9月26日
JavaScript Map 和 Set
摘要: 结论 Map:存放键值对,区别于 Object,键可以是任何值。 Set:存放不重复的值 Map 存储键值对,读取时与插入顺序一致。 var map = new Map([[1, "1"], [3, "3"], [2, "2"]]); map.set("foo", "bar"); for (cons
阅读全文
posted @ 2019-09-26 23:31 bloger11
阅读(676)
评论(0)
推荐(0)
2019年9月25日
C++ 变量判定的螺旋法则
摘要: C++ 中一个标识符配合着各种修饰界定符,使得标识符的本意不那么直观一眼就能看出,甚至需要仔细分析,才能知道该标识符的具体你含义。 比如: void ( signal(int, void ( fp)(int)))(int); 其中 signal 是什么? 螺旋法则 对于如何进行变量的辩识,有个非官方
阅读全文
posted @ 2019-09-25 23:47 bloger11
阅读(1417)
评论(0)
推荐(1)
TypeScript 参数属性
摘要: 假设类中创建的 readonly 类型的属性,该类型的属性只能在声明处或构造器中进行初始化。 class Octopus { readonly name: string; readonly numberOfLegs: number = 8; constructor (theName: string)
阅读全文
posted @ 2019-09-25 00:01 bloger11
阅读(1089)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
···
13
下一页
公告
Bingo!!
少年,我看你骨骼清奇,怕是一名前端吧‽
腾讯内推长期有效,简历这边来
liuwayong@gmail.com