部分国外服务需要电话绑定,国内手机号不支持。另一方面,比如我常使用的电报,拿国内号码注册可以,但是有安全风险,国内隐私状况你懂的。总之为了安全方便使用国外的这些优质服务,决定搞下Google Voice。

准备条件

GV账号即Google账号。

  • 网络健康,可以科学上网
阅读全文 »

目前使用最多的IDE是Intellij IDEA,和WebStorm,数据库软件近期也从Navicat切换到了DataGrip,目的就是维持一套操作习惯,一招吃天下。但IDEA,和WS都太重了,有时候简单的编辑一个网页,打开IDEA或者WS启动也很慢。

VSC这几年很火,毕竟很轻,同时又有海量的插件支持。于是打算将VSC按照IDEA的一些操作习惯进行改造打磨,提升下效率。

插件安装

  • IntelliJ IDEA Keybindings 保持快捷键大部分与IDEA一致
  • open in browser 浏览器打开文件
  • Darcula IntelliJ Theme 保持与IDEA一致主题风格
  • Prettier - Code formatter
  • EditorConfig for VS Code
  • TSLint

自定义设定

  • Open in Default Brower快捷键改为⌥ F2,原因是同步IDEA中preview in brower快捷键
阅读全文 »

前端项目使用到了lodash,lodash中有个类型是Dictionary,JavaScript内置对象有Map和Object,三者联系区别在哪,且该如何选择?向下看!

lodash中的Dictionary

上概念

字典(Dictionary)是一种以键-值对形式存储数据的数据结构,JS中的Object,Map,Lodash中的Dictionary都是字典类型的实现。

阅读全文 »

前端项目在TypeScript加持下可以提升代码健壮性,当然使用中难免会遇到很多类型定义上的问题,这里总结一番。

为了追求快速解决,我们会偷懒使用// @ts-ignore,但这个手段的弊端就是放弃了类型安全,so,能不用就不用,一定要根治了问题才好。

children在function组件下的使用

无状态组件,我们经常会使用函数组件进行声明,同时经常会用到children来做对象透。

1
2
3
4
5
6
7
8
9
10
11
import React from 'react';

interface IProps {
permission: boolean;
}

const AuthShow = ({ permission, children }: React.PropsWithChildren<IProps>) => {
return <>{isPermit() ? children : null}</>;
};

export default AuthShow;
阅读全文 »

最近花了2天时间阅读了这本技术书《Redux in Action》

结合自己一年+的React/Redux使用,有些反思体会,这里总结一番,大都实际使用中该注意的细节点。

State为只读

在reducer中,我们不应该直接对state进行任何的修改,effects中也一样注意是不应该而不是不能。假如我们对原来的state进行修改,程序并不会报错,同时React组件也不会触发重新渲染。

阅读全文 »
0%