国内网络访问 Github 速度过慢的原因有许多,但其中最直接和原因是其 CND 域名遭到 DNS 污染,导致我们无法连接使用 GitHub 的加速服务,因此访问速度缓慢。
babel-polyfill 与 babel-runtime
Babel 是一个工具集,主要用于将 ES6
版本的 JavaScript
代码转为 ES5
等向后兼容的 JS 代码,从而可以运行在低版本浏览器或其它环境中。
因此,你完全可以在工作中使用 ES6
编写程序,最后使用 Babel 将代码转为 ES5
的代码,这样就不用担心所在环境是否支持了。下面是一个示例:
从自定义 Hooks 学习 TypeScript
自 React 16.8
后的 hooks api 出现以后,大大解决了代码的简介性,然而除了官方提供的几个 hooks api 之外,我们还可以自定义自己的 hooks api,以实现业务代码的简化和复用。
我们可以通过下列的例子,真正进入 hooks 的世界。
react-router-dom v6 组件外使用路由跳转
在 react-router
v4 之后,在组件之外使用路由必须通过 createBrowserHistory
或 createHashHistory
方法返回的 history 实例,并传入给 Router 组件,替换掉原本的 BrowserRouter/HashRouter
包裹组件。
然而在 最新的 v6(超强劲破坏性版本) 版本中,这种方法依然不可取(url 变化但是页面不变),除了上述所说之外,同时还需要监听 history 的变化,手动重新渲染页面。
Mac 安装 brew 并配置镜像
brew 是 MacOS 上的包管理工具,可以简化 macOS 和 Linux 操作系统上软件的安装。
打造 Mac 极致终端体验 iTerm2 + zsh + oh-my-zsh + powerlevel10k
对于长期使用终端和 Vim 的人来说,iTerm2
和 oh-my-zsh
就是两大神器。
把 iTerm2
和 oh-my-zsh
配置好,不仅可以给自己打造一个舒适的开发环境,养养眼,还能大大的提升效率。
Mac 终端代理
当我们在通过各种工具可以实现代理,但是都只对游览器有效。很多时候在命令行中执行一些下载命令仍然不走代理。
数组实用方法forEach-map-find-findIndex-filter-some-every-sort-reduce-flat
一提到循环,我们都会条件反射的想到 for
循环,虽然 for
循环能解决代码中大部分的问题,但是一旦遇到多重循环,其代码就显得不是那么优雅简洁了。在特定的场合中,合理运用 forEach, map, find, findIndex, filter, some, every, sort, reduce 这几个数组方法,就能够让我们事半功倍。
通往成功的道路有很多,但是总有一条路是最捷径的
从组件封装了解 typescript
typescript 功能不过多介绍,本文属于 typescript 进阶教程,适合了解 ts 基础又想要进一步提升的人。
本文将实现一个对 ant-design
form-item
组件二次封装的功能。
package.json 中 ~ 和 ^ 的区别
版本号的一般格式是:
3.4.5 ==》主版本号.次版本号.补丁版本号