蒲公英 · JELLY技术周刊 Vol.17

React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家珍。那么如何去用实现一个简单的 React Hooks 呢?或许大家都有各自的想法,但也不妨来看看文中所述的方案是如何构建的。

登高远眺

天高地迥,觉宇宙之无穷

基础技术

2020 Chrome DevTools 的新特性介绍

作为前端开发,与 Chrome 打交道是家常便饭,我们有必要了解 Chrome 调试工具的更新迭代,对日常开发和调试带来哪些帮助和改善。新 Chrome DevTools 集成了 lighthouse,并且在元素审查面板和性能面板都有一定程度的优化,本文还提供了相关特性的视频演示,非常易于理解学习。

浏览器的任务、微任务、队列和调度

浏览器里的事件循环(Event Loop)一直都是一个老生常谈的话题,社区里各种文章和资料也不少,但是你真的清楚事件循环里面的 tasks、microtasks、queues 这些概念以及他们的调度关系吗?本文是 Google Chrome 的开发人员 Jake Archibald 撰写的一篇博客,内容深入浅出,在任务调度及 JS 栈的部分还细心的绘制了 CSS 交互动画,最后还探讨了不同浏览器的差异以及相关规范的定义,非常值得一读。

Node.js 内存泄漏指南

由于 Javascript 采取了基于垃圾回收机制的内存管理方式,所以开发人员一般不会关注内存的分配和释放,但在开发过程中稍不注意就可能造成严重的内存泄漏。本文解释了 Javascript 的垃圾回收机制,列举实际例子介绍 Node 服务中的内存泄漏场景,并且重点讲述了如何利用 heapdump 和 chrome devtools 来精准定位线上服务的内存泄漏位置,对于 Node 服务的性能优化有参考意义。

前端框架

仿照 React 源码流程打造 90 行代码的 Hooks

作者通过模拟 React 的数据结构与工作流程,来使用精简的代码实现出 useState Hook。学懂本文的剖析和对应的源码后再去看 React Hooks 的源码部分,能更加容易的理解。如果你只是简单使用过 Hooks 或还没了解过 Hooks,阅读本文是一个很好的学习机会。

图形编程

使用 web worker 驱动 webGL 渲染

介绍透过 OffscreenCanvas API,实现 web worker 驱动 webGL 渲染。把更新渲染的逻辑分到主线程之外能有效减少 js 执行导致的页面响应阻塞。文中提供了一个 demo 的对比数据。

工具推介

PolyK - 用 Javascript 编写的多边形库

PloyK.js 提供了多个函数来帮助你更轻松的处理多边形,搭配一些物理引擎也可以做出一些有趣的效果,例如下面这个使用 phaser+matter.js 的 demo,基于 ployk.js 库可以用很少的代码实现物体的切片,这可能可以给你开发 H5 游戏带来一些新的想法。

沧海拾遗

沧海拾遗,积跬步以至千里

Nerv - 类 React 组件框架

当我们在前端领域不断向上攀爬的过程中,随着对 React 这一类框架的不断深入理解,大脑中总是会冒出一个这样的想法:“我也能实现一个像是 React 这样的框架”,Nerv 就是在京东这样想法就的落地实现,相信通过 Nerv,你会对 React 有不一样的了解。

在小程序中使用 React Hooks

如果选择 React 来开发小程序,相信你对于 Taro 多少有一定的了解,或许你现在正在通过 Taro 3.x 在小程序平台中按自己的意愿构建想要的小程序。但是回顾 Taro 发展的过程中,支持 Hooks 也曾是需要针对性优化的特性之一,通过这些特性实现的思考,对自身技术的提升大有裨益。

「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术工程化跨端框架技术图形编程服务端开发桌面开发人工智能设计哲学前端框架」等多个大方向的业界热点,并加以专业的解读;不仅如此,我们还会推介精选凹凸技术文章,向大家呈现团队内的研究技术方向。

抬头仰望,蒲公英的种子会生根发芽,如夏花绚烂;格物致知,我们登高远眺、沧海拾遗,以求积硅步而至千里。

蒲公英 · JELLY技术周刊贡献指南

欢迎关注凹凸实验室博客:aotu.io

或者关注凹凸实验室公众号(AOTULabs),不定时推送文章:

蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks的更多相关文章

  1. 蒲公英 · JELLY技术周刊 Vol 27: 平平无奇 React 17

    蒲公英 · JELLY技术周刊 Vol.27 这个热闹的十月终于要走到尾声,React 17 历经 4 个 RC 版本之后,也于数天前正式发布了,而同在几天前发布的 CRA 4.0 也已经完成了 Re ...

  2. 蒲公英 · JELLY技术周刊 Vol.03

    蒲公英 · JELLY技术周刊 Vol.03 「蒲公英」期刊全新升级--JELLY技术周刊!深度挖掘业界热点动态,来自团队大咖的专业点评,带你深入了解团队研究的技术方向. 登高远眺 天高地迥,觉宇宙之 ...

  3. 蒲公英 · JELLY技术周刊 Vol.16 谷歌首个线上 Web 开发者大会

    蒲公英 · JELLY技术周刊 Vol.16 近期,谷歌有史以来的第一次线上谷歌 Web 开发者大会,Web Vitals.PWA.DevTools 和 Lighthouse 6.0 等一系列特性或产 ...

  4. 蒲公英 · JELLY技术周刊 Vol.19 从零开始的 Cloud IDE 开发

    蒲公英 · JELLY技术周刊 Vol.19 你是否也会有想法去开发一个自己的 IDE 却苦于时间和精力不足,完成 Desktop IDE 却又被 Cloud IDE 的概念追在身后难以入睡,这样的两 ...

  5. 蒲公英 · JELLY技术周刊 Vol.28: Next.js 10 发布

    蒲公英 · JELLY技术周刊 Vol.28 前端应用到底该选 SSR 还是 CSR?每个项目技术栈决策的时候都会根据实际需求有自己的看法,而在不久前 React 17 发布之后,自然而然也会有同学好 ...

  6. 蒲公英 · JELLY技术周刊 Vol.32: 前端的自我进化之路

    蒲公英 · JELLY技术周刊 Vol.32 前端开发不过是切图仔在那儿瞎鼓捣,没啥门槛,不需要懂计算机原理,不需要懂算法,微服务.高并发这些都不需要懂,拖组件写个页面就好了,数据.逻辑.测试都可以交 ...

  7. 蒲公英 · JELLY技术周刊 Vol.35: Flash 四宗罪?

    蒲公英 · JELLY技术周刊 Vol.35 Flash 曾是 Web 迈向新世代的福音书,它为这个世界带来了缤纷色彩,但也如伊甸园的苹果,闪耀着智慧的光芒,却四灾随行.诞生 1995 年至今 25 ...

  8. 蒲公英 · JELLY技术周刊 Vol.20: Vue3 极致优化——分析 Vue3 Compiler 告诉你为什么这么快

    蒲公英 · JELLY技术周刊 Vol.20 性能优化是一条无尽的路,我们总是可以找到各种途径去提升体验,不论是响应时间还是按需加载,亦或是根据框架或者组件有针对性的优化都会是不错的方法.如果你在使用 ...

  9. 蒲公英 · JELLY技术周刊 Vol.22: npm i react-router@6.0.0-beta.0

    蒲公英 · JELLY技术周刊 Vol.22 近期 React Router 已经释出了 6.x 的 beta 版本,正式版本已经不远了,作为 React 生态中的重要组成部分,React Route ...

随机推荐

  1. 产品升级前后MD5码对比

    在做产品测试的时候,经常会需要对比升级前后的MD5码,这时可以通过终端登录设备,具体步骤如下: 1.在升级前时,将MD5码写入log1.info文件: check_md5 -d / -w log1.i ...

  2. MSF查找提权exp

    0x01:介绍 在拿到一个反弹shell后,下一步可以用metaspolit的内置模块Local Exploit SuggesterLocal-exploit-suggester的功能就如它的名字一样 ...

  3. Shell基本语法---if语句

    if语句 格式 #单分支 if [ 条件判断 ]; then 执行动作 fi if [ 条件判断 ]; then 执行动作 else 执行动作 fi #多分支 if [条件判断]; then 执行动作 ...

  4. Java中使用断言

    由于断言在Java程序中用于开发和测试阶段,考虑到以后很有可能会用到,在此先记类一下. 在Java语言中,给出了3种处理系统错误的机制: 1.抛出一个异常 2.日志 3.使用断言 什么时候使用断言呢? ...

  5. 机器学习 | 简介推荐场景中的协同过滤算法,以及SVD的使用

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第29篇文章,我们来聊聊SVD在上古时期的推荐场景当中的应用. 推荐的背后逻辑 有没有思考过一个问题,当我们在淘宝或者是 ...

  6. P1359租用游艇(dp+dfs)

    好久真的是好久没有做dp的问题了(QWQ)(我有学过这玩意???) 诶,人生呐! 今天来一个动归- 顺便可以回顾一下dfs. 这个题我觉得审题也非常重要 小可爱dp: #include <bit ...

  7. layer弹窗插件留言提交

    function msgShow(getname,getuserid){ layer.open({ type: 1 //此处以iframe举例 ,title: '收件人:'+getname+'(ID: ...

  8. 谁来教我渗透测试——黑客应该掌握的Windows基础

    今天我们看看作为一个黑客对于Windows应该掌握哪些基础知识,主要内容包含以下四个方面: 系统目录.服务.端口和注册表: 黑客常用的DOS命令及批处理文件的编写: 黑客常用的快捷键,以及如何优化系统 ...

  9. 一款功能简约到可怜的SQL 客户端

    你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough ...

  10. PHP 循环 - For 循环基础讲解

    PHP 循环 - For 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. for 循环 for 循环用于您预先知道脚本需要运行的次数的情况. 语法 for (初始值; 条件; ...