首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

记一次preact迁移到react16.6.7的经历

但是考虑到react令人兴奋的新特性preact并没有按时更新去完全支持它,更严重的是一些babel插件、一些库配合preact会有问题。所以,还是不得不迁移了。 如何迁移?...在webpack的alias里面配置: alias: { react: 'preact-compat', 'react-dom': 'preact-compat' }, 复制代码...既然是16.6.7,我们可以试一下新特性:lazy+suspence import React, { lazy, Suspense } from 'react'; const Comp = lazy(... : null } 复制代码 这里,我们可以猜一下,Main是最大的组件,内部状态页码在切换,所有的Pagex组件跟着更新,做出对应的变化。...一些动画操作就放在didmount,之前都是这样做的,但大家没有发现是什么问题,因为看见是这样,开发起来毛病,又没有bug,就不太在意。

1.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

记一次preact迁移到react16.6.7的经历

但是考虑到react令人兴奋的新特性preact并没有按时更新去完全支持它,更严重的是一些babel插件、一些库配合preact会有问题。所以,还是不得不迁移了。 如何迁移?...在webpack的alias里面配置: alias: { react: 'preact-compat', 'react-dom': 'preact-compat' }, 所以,第一步先把这个去掉...既然是16.6.7,我们可以试一下新特性:lazy+suspence import React, { lazy, Suspense } from 'react'; const Comp = lazy(... : null } 这里,我们可以猜一下,Main是最大的组件,内部状态页码在切换,所有的Pagex组件跟着更新,做出对应的变化。Pagex的更新,走的是didupdate。...一些动画操作就放在didmount,之前都是这样做的,但大家没有发现是什么问题,因为看见是这样,开发起来毛病,又没有bug,就不太在意。

73120

你知道npm包版本管理有多重要么?

下面是故事时间: 故事一 我们的项目中使用的是preactpreact-compat的库。...某天,小A要做需求,时间比较赶所以想引用一些库进来提升效率,但是由于当前preact-compat太低导致不兼容啊。怎么办?这还用问么?当然是升级一下preact-compat的版本啊。...小A开心的就把本地的preact-compat升级,跑一下本地,很正常嘛,于是就push上了远程愉快的发布。 发布后不久,产品经理来找小B,说怎么回事,我们的页面不能用了啊!...于是小B赶紧找到发布需求的小A,问问有没有改到自己的文件。同时也拉取了最新的代码在本地调试。很快就找到了问题 --- 就是由于preact-compat版本升级导致一个JSX-if的库不兼容。...15.2.1" -- 会匹配最新的大版本依赖包,比如^15.2.1会匹配所有15.x.x的版本,包括15.3.0但是不包括16.0.0,即 >=15.2.1 && < 16.0.0 所以我们的项目中直接所有的库都是

1.1K10

干货 | Qreact,去哪儿网的迷你react方案

*视频由“IT大咖说”提供,时长约45分钟,请在WiFi环境下观看* 去哪儿网在React Native深耕多年,对React内部实现的了解在国内应该是非常领先的。...在双方折腾2个星期后,我们组有人心灰意冷,着手后备方案,preact。...preact比起react-lite多出几个优势: 1、官方提供兼容补丁preact-compat 2、插件巨多 3、ISSUR活跃,当天提问题,大概到晚上,外国人起床就有回应。...整个qreact的架构大概就是: qreact= preact改+preact-compat改+react-web事件系统迷你版 在preact的源码里一个叫options.js的文件,里面有一个options...图6 这preact支持它们,我们是在框架diff节点时,重新添加上它们的。因为这时,我们能轻松知道一个节点在DOM树的上下关系。 最后是对事件系统进行瘦身。

98380

文稿:Ant Design从无到有,带你体悟大厂前端开发范式

到正文前,先来看看我们封装这样一个库前需要做哪些约定和准备。...eslint-disable-next-line config.resolve.alias = Object.assign({}, config.resolve.alias, { react: 'preact-compat...', 'react-dom': 'preact-compat', 'create-react-class': 'preact-compat/lib/create-react-class...这是我们需要借助 npm 提供的钩子 prepublish 来处理发布前的操作,处理的操作便是定义于 antd-tools 中指定的逻辑。我们同样看到上面看到的 gulpfile.js 。...好了,到这里给大家介绍完一个库是如何从零开发出来的,我相信大家明白 Ant-Design 组件的构建以及打包的整个流程,应对开发中其他一些自定义的库封装发布将会胸有成竹。

2.2K20

React Hooks 的实现必须依赖 Fiber 么?

现在,不止 react 中实现 hooks,在 preact、react ssr、midway 等框架中也实现这个特性,它们的实现就是不依赖 fiber 的。...preact 如何实现 hooks preact 是兼容 react 代码的更轻量级的框架,它支持 class 组件和 function 组件,也支持 hooks 等 react 特性。...确实,preact 就是把 hook 链表放在 vdom 上。...总结 react hooks 是在 react fiber 架构之后出现的特性,很多人误以为 hooks 必须配合 fiber 才能实现,我们分别看了 react、preact、react ssr、midway...midway 是一个 Node.js 框架,它也实现 hooks 类似的 api,具体放在哪我们深入,但是只要有个上下文存放 hook 链表就行 所以,react hooks 必须依赖 fiber

67830

Taro 3.4 beta 发布: 支持 Preact 为应用开辟更多体积空间

因此,Taro v3.4 的主要方向,是探索对于 Preact 的支持。 Preact 是一款体积超小的类 React 框架,提供和 React 几乎一致的 API,而体积只有 5k 左右。...支持使用 Preact Taro v3.4 正式实现Preact 的支持,下文将简单介绍适配思路及用法。 适配思路 1....对于事件的适配,Taro 已经提供浏览器规范的事件方法,因此只需要再处理 Preact 的事件名与小程序事件名的差异。...现有的 React 项目 将 CLI、项目中 Taro 相关的依赖更新到 v3.4.0-beta 版本。...API) 特性,和传统的 Options API 不同,Composition API 提供全新的编码方式 ,可以让我们更好地去组织和复用代码逻辑。

83900

移动端项目快速升级 react 16 指南

本文作者:IMWeb EnjoyChan 原文出处:IMWeb社区 未经同意,禁止转载 背景 考虑到移动端性能,腾讯企鹅辅导移动端项目使用了更为轻量的 preact(7KB) 及其对应配套 preact-router...等, 考虑到 preact 对 react 的兼容不全、生态远不如 react 等问题,且 react 16 相当吸引人的特性包括: 体积减少 react is 5.3 kb (2.2 kb gzipped...错误处理, 可通过定义一个组件专门捕获错误,当页面部分组件报错时兼容,更友好的用户体验 lazy 提供动态 import 组件,Suspense 实现代码分割 hook 的出现 更好的服务端渲染 ......未声明时使用,需声明 this.state = {}; setState 问题,关于 state 的更新,react 16 与之前的异步更新方式并无不同,在生命周期钩子函数、react 事件中会收集所有的...升级后的 react, 我们又可以愉快地使用各种新特性、更优雅的写代码,更重要的是利用这些新特性提升页面性能、提供更好的用户体验,以下为官方图,下次再写一篇升级 react 16 之后性能相关文章

1.4K20

资讯 | 王者荣耀:健康游戏不止于防沉迷;Java 9来;TypeScript 2.4 发布

每周资讯 IMWeb前端社区 想要成为一名优秀的前端,需要及时掌握互联网技术的时事热点,这周又有哪些值得关注的最新动态呢,让我来为大家一一揭晓! 1 新华社:“王者荣耀”还是“王者农药”?...对此,业内专家建议,监管部门应在我国探索游戏分级制度,为以后的监管提供依据,也给游戏开发者设定边界。...2 模块化获得Java社区全票支持,Java 9来,发行版里很具特色和争议的特性终落地 模块化是即将到来的Java 9发行版里很具特色但也有很大争议的特性,似乎与几周前Java社区通过一项提案很像,一开始都没有得到大家的认可...3 TypeScript 2.4 发布 TypeScript 是提供静态类型和很多先进特性的 JavaScript 语言超集;而在最新发布的 2.4 版本中,新增动态 import 语法、字符串枚举类型等特性...5 Preact CLI 1.3.0 发布 Preact CLI 是快速创建 Preact 应用的工具,在近日发布的 Preact CLI 1.3.0 版本中,开发者可以自定义 Webpack 配置文件与

28830

一次现网翻车经历与总结

用的是preact,项目结构是该有的都有,pages下每一个文件夹都是一个页面,也能支持第2级文件夹一个页面。每一个活动页面就是一个文件夹,互不影响,mpa。...升级基础库版本之坑 问了一下,原来他为了fix那个插件在preact中的一些坑和更新preact-compact。为什么呢?...但是用了preact意味着不能用react新特性,反正目前是这样,以后应该可以支持。活动页面性能要求高,而且兼容性要做到极致,但preact在我们项目暂时跑不了antd。...但是每一次发布也意味着所有的活动页面也会被重新发一次。如果修改基础库,所有的活动都被影响。...说大家都错了,也是说得通,大家都是只看自己的一亩三分地,照顾整个团队,照顾整个项目。 最后一个工作日,虽然跌跌撞撞,但是获得了成长,给2018职业生涯画上句号

61130

JavaScript 新一代构建工具对比

通过这种方式,我们就能看到有哪些选择,以及它们是如何配合的,这样我们就能在需要的时候做出最好的选择。 当然,我分析的所有的这些都会受到我使用 React 和 Preact 的经验的影响。...在2021年的今天,我们还在寻找原生 JavaScript 模块能够带来哪些新的可能性。 这些工具和现有的工具有什么不同?...然而,有一些方法可以在 JSX 中添加自动导入,或为 Preact 配置JSX。 用法 esbuild 为开发服务器提供一个 -serve 的选项。...它有意提供一个零配置的构建,这对大多数用例来说应该是足够的。 该构建包含了我们所期望的 Rollup 特性:打包、最小化和 tree shaking 。...wmr 在转换 JSX 时使用了一个叫 htm 的工具,它提供一些很棒的好处。比方说,我们在 wmr 中使用 Preact 写一个计数器,却犯了一个错误。

1.8K10

【框架】984- 2021 年最佳 JavaScript 框架

通过“虚拟 DOM”,React 提供非常快的渲染速度,只需渲染发生变化的部分,而不用渲染整个页面。React 的另一个基本特点是使用更简单的 JSX 语法,而不是 JavaScript。...Evan Yu 在 2014 年首次发布 Vue,他是一名谷歌开发者,从 Angular 中获得了灵感,以 Vue.js 的形式提供一个简单、轻量级、高效的替代方案。...Vue 从 React 和 Angular 获得了许多特性,但是这些特性已经得到了大幅改进,从而提供一个更好、更易用、更安全的框架。...Vue 就是这种方法的最佳例子,它提供 Angular 所见的双向数据绑定,以及 React 所见的“虚拟 DOM”。...谷歌高级开发项目工程师 Jason Miller 创建了 Preact,并被一些开发者用作 React 的子集,同时还删除了部分特性

73030
领券