V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lisongeee  ›  全部回复第 1 页 / 共 44 页
回复总数  871
1  2  3  4  5  6  7  8  9  10 ... 44  
https://m.weibo.cn/detail/5123605060913184

结束了,说不追回,md ,错过几个亿
有点好奇,能看看你的 pdd 的应用权限列表截图吗?
3 天前
回复了 milala 创建的主题 职场话题 硬件工程师和软件工程师哪个重要
软件硬化工程师
3 天前
回复了 xubingok 创建的主题 问与答 有没有一劳永逸关闭 HSTS 的方法?
在内网使用了别人注册的公网域名作为测试域名也会有这种情况

把域名换成自己持有的就行
就我一个滴酒不沾,被吸二手烟,觉得酒难喝,烟恶心的人?
🐂🍺,但是注意开源协议和版权声明,小心被何同学偷去了
5 天前
回复了 qwingmix 创建的主题 问与答 做一下调研,你吃过破宗丹大蜜丸吗?
那你现在突破到斗宗了没
5 天前
回复了 chevalier 创建的主题 Android 2025 年 1 月帮推荐个安卓手机
小米提供了一键关闭所有广告的入口,不用手动进每个软件关

设置 - 搜索广告 - 系统广告 - 关闭系统工具广告
7 天前
回复了 kandaakihito 创建的主题 生活 你们过年打算给父母钱吗?
@zbowen66

我的微信备注就是这个,你还以为是敏感字替换啊
另外一个最简单的方法就是

把有关系的页面写在一个 route 下,不要发生 router.push 行为,没有组件销毁,状态自然也不会丢失
根本原因在于 react-router/vue-router 使用的是替换渲染式路由,push route 时旧页面状态会全部丢失

如果是 android 的 activity 这种层叠式渲染路由,push route 时旧页面只是被覆盖,并没有回收,所以不会出现这种情况,缺点是占用内存较多

此外在微信小程序的 taro(也是 react) 框架,微信小程序的路由机制也是 webview 层叠渲染(旧路由不会被销毁),没有你说的这个问题,缺点也是内存占用,但是没人在意。

而 android 的新 ui compose(类似 react) 也切换至 compose-navigation 这种替换式渲染式路由,也是会丢失状态的(不做任何操作的情况下)

但是 compose-navigation 额外对接了 viewModel 框架

开发者需要提升状态声明在 viewModel 中,然后在路由页面里使用它,当发生 push 行为时,页面停止渲染,但是 viewModel 并不会被回收,因为它的生命周期是跟着路由栈存在的,所以当你返回上一个页面时,重新渲染此页面,由于 ui=f(state) ,state 都在,所以状态都在。

并且 compose 还会提供如 rememberSaveable/rememberScrollState 这种保留状态的 hooks ,也是跟着路由栈存在,所以很好的解决了你提出的这个问题。

---

按照 compose 的解决思路,你必须把所有状态提升到 viewModel 中,也就是 store/url 里,并且你得构建一个和 url 栈联系的 store ,避免内存泄露
11 天前
回复了 zhwguest 创建的主题 支付宝 只愿意用微信支付的原因
聊天和支付最好分开

哪天你在微信里说了对某热点事件什么不利于团结的话被封号就好受了
新状态组件的 useEffect 和旧状态组件的 cleanup 同时被你 debugger 到了
21 天前
回复了 kandaakihito 创建的主题 生活 你们过年打算给父母钱吗?
我 元旦/春节/劳动节/中秋+国庆 都会给 8🐎转钱
1  2  3  4  5  6  7  8  9  10 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   979 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 20:07 · PVG 04:07 · LAX 12:07 · JFK 15:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.