欢迎!请参阅 关于 页面以了解更多关于该功能的信息。
在热重载中,是否有一种方法只重新渲染受影响的应用程序部分呢?
Figwheel 文档中只提到重新挂载整个应用程序(在这种情况下,组件的所有本地状态都会丢失):https://figwheel.org/docs/hot_reloading.html#re-rendering-ui-after-saving-a-file
在 shadow-cljs 文档中还没有找到与此相关的内容。我见过的所有应用程序要不完全不支持热重载重渲染,要不就是全量重挂载。
那么,比较热重载前后 VDOM 的障碍是什么?或这是否已经实现?
尽管 Figwheel/shadow-cljs 与 React/VDOM 独立,但预期它们不会实现这样的行为,但可能有一些库或明确的解决方案呢?
事实上,它并不是“重新挂载”,而仅仅是一个更新,并不意味着应用程序的整个 DOM 都被替换。调用顶级 render 与更新组件没有区别,React 仍然像平常一样执行 diff 和 patch。
render
一般来说,像fulcro或re-frame这样的框架对于状态和状态管理都有明确的规定。使用它们。
fulcro
re-frame
在工具级别上做这件事会非常困难,这就是figwheel和shadow-cljs都只处理重新加载代码的原因,而将状态管理留给实际的应用程序。甚至不确定在没有完全限制你可以做什么的情况下,是否可以在工具级别上做到这一点。