v1.1.0 引入 react-reconciler 后的体积徒增问题
Opened this issue · 13 comments
变动由 #19 造成
个人对这个改动的理解为支持非 dom 环境,但此项改动造成了体积徒增(3.8kb -> 76.3kb)
是否可调整为自动识别运行时环境,有条件地选择使用 react-dom 或 react-reconciler
那应该是要分成两个 package 了,类似 react-router
和 react-router-dom
默认的 hox
是采用 custom renderer 方案的,包体积较大,但是兼容性更强;而 hox-dom
则是仅适用于浏览器环境的,体积更小。高端玩家甚至可以自己在 webpack 配置中根据不同环境替换为不同的 package 。
两个 package 的 API 以及行为都完全一致,只是底层实现不同。
这种方案如何?@CJY0208 @brickspert
感觉把开始很简单的一个东西,搞复杂了。🐶
对用户来说无感知,又能自动识别环境尽可能减少打包大小,这种方案感觉并不存在啊
是的…似乎只能构建时判断
当然如果大多数用户都是在浏览器环境下使用的话,也可以 hox
是复用 react-dom
renderer 的,hox-universal
是全平台通用的
或者 hox 主包 render 默认为 react-dom,render 做成可配置的,在文档中做说明,让用户自己替换 render,提供示例
当然如果大多数用户都是在浏览器环境下使用的话,也可以
hox
是复用react-dom
renderer 的,hox-universal
是全平台通用的
那岂不是 break change 了。
当然如果大多数用户都是在浏览器环境下使用的话,也可以
hox
是复用react-dom
renderer 的,hox-universal
是全平台通用的那岂不是 break change 了。
是的。。
当然如果大多数用户都是在浏览器环境下使用的话,也可以
hox
是复用react-dom
renderer 的,hox-universal
是全平台通用的
这个 +1 票
当然如果大多数用户都是在浏览器环境下使用的话,也可以
hox
是复用react-dom
renderer 的,hox-universal
是全平台通用的
+1
这不仅仅是报错的问题。现在是升级过后,卡死了。
function resetCurrentFiber() {
{
ReactDebugCurrentFrame.getCurrentStack = null;
current = null;
isRendering = false;
}
}
ReactDebugCurrentFrame 为undefined,然后就是死循环。