-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] umi@3 支持Keep Alive 试用方案 #3091
Comments
也许还有方案三,其它方案都是基于路由的做缓存,而且都是通过display:none|block来控制组件的展示和隐藏,而我前两天在github意外发现的react-keep-alive是通过 React.createPortal把需要缓存的组件渲染到应用程序的外面,这样就是直接基于组件而不是基于路由,对react-router就没那么大的依赖了 |
欢迎讨论 |
|
补充最近开发的工具,react-activation ,纯粹的、不依赖 Router 的 但由于实现方式原因,将对 React 本身造成一定影响,仅做方案补充 |
着实有必要官方支持 |
下个项目用3试试 |
顶一下~~ |
给力,解决了我疼痛的问题。 |
umi3 集成失败 |
@snice 是要结合layout使用吧。用 @alitajs/plugin-layout ,alitajs/alita#128 |
Cannot read property 'pathname' of undefined at BasicLayout.render (KeepAliveLayout.tsx:72) |
@stillyu props需要透传,你应该是漏了 |
大佬,上面那个配置,是在哪个配置文件里的? |
@xiaoshuoyiyi 说的配置指的是 umirc 或者 config/config 文件。运行时配置指的是 src/app 。所有的 umi 文档都是这样 |
测试中发现,@alitajs/keep-alive方案如果在我的layout里存在tabBar,tabBar不会被初始化。 |
@pwh19920920 https://github.com/alitajs/alita/tree/master/packages/layout 看看这里,是没有问题的。如果你的场景有问题,可以给一个复现demo。 |
@alitajs/keep-alive方案目前初次尝试问题不大,但是生成的 class="rumtime-keep-alive-layout"里面的第一级元素为什么要使用 position: "absolute" 定位?是有特殊考虑吗 |
@Jsen0926 |
能否给个demo,这个文档愣是没看懂。。。 |
mark 等一个Keep Alive,满足多tab |
@finalreturn https://www.npmjs.com/package/@alitajs/tabs-layout 同样技术实现的,多tabs 。可以尝试能否解决,预览页面 https://pro.alitajs.com/ |
这个 issues 锁了,有疑问和其他问题可以,单独找我,或者另开 issues |
可以使用 @alitajs/keep-alive。需要使用组件包裹 layout 的最内层。原理就是劫持了
children
安装
配置
使用
解除缓存
动态修改 keepalive 配置
The text was updated successfully, but these errors were encountered: