网易首页 > 网易号 > 正文 申请入驻

3个真实项目踩坑:前端状态管理根本没有"局部"这回事

0
分享至


2018年的某个周一,意大利团队Fattutto的代码库出现了8层嵌套的Provider。这不是技术债务,是架构设计从一开始就没想明白一个问题:状态到底该放哪儿?

前端开发者入行时都会遇到一个隐形选择题。框架默认把状态塞进组件,全局状态成了需要额外付费的VIP服务。但作者Dylan的Inglorious Web系列提出了一个反直觉观点:状态本该全局,除非你主动隔离它

项目一:8层Provider的"俄罗斯套娃"

Fattutto是个发票应用,团队4个人,开发周期2个月。2018年的Redux还没有RTK(Redux Toolkit),纯Redux写起来像在做文书工作。Context API看起来是个轻量选择。

Context的问题不是不能做全局状态,是性能陷阱。只要context的值变了,所有消费者都会重渲染。唯一的解药是把context切得尽可能细。

功能越加越多,每个需要共享的新需求都变成一个新的Provider。等应用成熟,根组件变成了这样:Theme套User,User套Licence,Licence套IdsToRemove……一共8层。

接手团队后来重构减少了层数。这证明Context足够灵活,可以补救。但"先污染后治理"的模式,本身就是架构设计的上限。

项目二:工厂HMI的4年长征


2020年,Dylan加入Tetra Pak做工业HMI(人机界面),给工厂控制系统做界面。这个项目持续了4年。

他带着Fattutto的教训进场:哪怕初期状态看起来很小,第一天就上RTK。这次没有Provider套娃的问题,但遇到了新麻烦。

工业HMI的状态规模是消费级应用的10倍起步。每个传感器、每台机器、每个报警都有状态。RTK的boilerplate(样板代码)在规模面前开始咬人。一个slice文件动辄几百行,团队花了大量时间写重复的模式。

全局状态的选择是对的,但工具选得不够锋利。4年项目中期,他们开始用代码生成工具批量生产slice。这不是技术失败,是工具链和规模不匹配的典型症状。

项目三:3个月项目的"局部状态幻觉"

2023年,Dylan接了个短期咨询项目。客户说"就是个简单后台,局部状态够了"。

他坚持了全局优先的原则。3个月后项目交付时,客户提了两个"小改动":加一个跨页面的筛选状态,加一个需要持久化的用户偏好。团队用2小时改完,没有重构,没有技术债务。

同期另一个类似项目用了局部状态优先。同样的"小改动",团队花了2周做状态提升(lifting state up),重构了7个组件,引入了新的context。


局部状态的本质是延迟决策。你今天省下的架构思考,会变成明天的重构账单,带利息。

为什么框架默认是反的

React、Vue、Angular都把局部状态设为默认。这不是技术原因,是教学原因。

新手教程需要"Hello World"能跑起来。全局状态需要理解数据流、副作用、持久化,认知门槛高。框架选择先让你跑起来,再让你还债。

但企业级项目的代价是真实的。Dylan的3个项目覆盖了消费应用、工业系统、短期后台,共同点是:状态边界永远比你想象的更容易被打破

Context API的Provider套娃、Redux的样板代码爆炸、局部状态的后期重构——这三种痛,本质上都是同一个错误在不同阶段的临床表现。

Inglorious Web的做法是:全局状态作为基础设施,用显式隔离替代隐式局部。不是"需要全局时再提取",是"默认全局,需要隔离时再圈地"。

这个思路的代价是前期设计成本。收益是后期改动成本趋近于零。对于生命周期超过6个月的项目,这笔账很容易算过来。

Dylan在系列文章里埋了一个细节:Fattutto的8层Provider截图,他保留了7年。每次有人跟他说"这个项目很简单,局部状态够了",他就把这张图发过去。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
性需求是人的活力来源,性需求是成年人最强大的生命力

性需求是人的活力来源,性需求是成年人最强大的生命力

加油丁小文
2026-04-03 11:30:07
新加坡男子在中国远程操控阿窿生意,赚了100多万新元,买了百万公寓...

新加坡男子在中国远程操控阿窿生意,赚了100多万新元,买了百万公寓...

新加坡眼
2026-04-05 18:13:37
动物跟人类的爱是一样的,牛孩子跟牛妈妈一起耕田!网友看得心疼

动物跟人类的爱是一样的,牛孩子跟牛妈妈一起耕田!网友看得心疼

狸猫之一的动物圈
2026-04-05 08:21:43
刚承诺G7峰会没中国,马克龙又在韩国对华摆一道,李在明不跟

刚承诺G7峰会没中国,马克龙又在韩国对华摆一道,李在明不跟

阿校谈史
2026-04-06 14:37:02
伊朗发出最后通牒!俄通告全球将参战,法国上将:中估计也要到了

伊朗发出最后通牒!俄通告全球将参战,法国上将:中估计也要到了

黑翼天使
2026-04-05 02:01:32
以色列至今都不敢相信,一场战争打掉了自己未来50年的国运

以色列至今都不敢相信,一场战争打掉了自己未来50年的国运

农夫史记
2026-04-04 20:18:25
人民日报13字怒批!全红婵事件背后藏着多少秘密?

人民日报13字怒批!全红婵事件背后藏着多少秘密?

枫尘余往逝
2026-04-06 15:24:21
伊朗媒体称多名美军士兵在营救飞行员的行动中身亡

伊朗媒体称多名美军士兵在营救飞行员的行动中身亡

财联社
2026-04-05 18:42:05
大学同学晒出张凌赫偷拍图!分享和他的互动,全网忙着关注这问题

大学同学晒出张凌赫偷拍图!分享和他的互动,全网忙着关注这问题

阿废冷眼观察所
2026-04-06 09:32:27
施瓦辛格私生子太争气,首夺健美冠军!女保姆所生,肌肉复制父亲

施瓦辛格私生子太争气,首夺健美冠军!女保姆所生,肌肉复制父亲

头号电影院
2026-04-03 22:24:38
应届毕业生狂追2000公里求入职,一件起球工服让张雪当场拍板录用

应届毕业生狂追2000公里求入职,一件起球工服让张雪当场拍板录用

行者聊官
2026-04-06 14:00:16
木星75%都是氢气,如果用核弹点燃它,会变成第二个太阳吗?

木星75%都是氢气,如果用核弹点燃它,会变成第二个太阳吗?

观察宇宙
2026-04-06 11:35:58
伊朗不输谁输!飞行员被救,美CIA立大功,伊朗内奸竟在自家炕头

伊朗不输谁输!飞行员被救,美CIA立大功,伊朗内奸竟在自家炕头

井普椿的独白
2026-04-06 15:31:24
快讯!伊朗革命卫队回应特朗普关于营救第二名F-15飞行员的发文!

快讯!伊朗革命卫队回应特朗普关于营救第二名F-15飞行员的发文!

达文西看世界
2026-04-06 09:06:05
68万亿城投债倒计时:最后15个月将如何冲击你的财富?

68万亿城投债倒计时:最后15个月将如何冲击你的财富?

流苏晚晴
2026-04-05 13:50:25
田曦薇直播“露肤违规”遭强制中断,20分钟后“另类造型”回归

田曦薇直播“露肤违规”遭强制中断,20分钟后“另类造型”回归

阿废冷眼观察所
2026-04-05 21:21:23
孕妇买200元水果却被丈夫怒骂:双标到极致,家境曝光,网友劝离

孕妇买200元水果却被丈夫怒骂:双标到极致,家境曝光,网友劝离

青梅侃史啊
2026-04-04 12:20:02
火箭队双喜临门!湖人狼队皆输球,申京准绝杀勇士,西部前4有戏

火箭队双喜临门!湖人狼队皆输球,申京准绝杀勇士,西部前4有戏

熊哥爱篮球
2026-04-06 13:10:59
姚安娜露腰装秀腹肌,挥汗如雨的样子,美得也太有攻击性了

姚安娜露腰装秀腹肌,挥汗如雨的样子,美得也太有攻击性了

暖心萌阿菇凉
2026-04-06 06:25:12
赵心童:巡回锦标赛夺冠后,世锦赛赔率升至第一,有望打破魔咒!

赵心童:巡回锦标赛夺冠后,世锦赛赔率升至第一,有望打破魔咒!

金木原创
2026-04-06 15:07:48
2026-04-06 16:16:49
闪存猎手
闪存猎手
全网蹲好价的野生捕手,算力与羊毛都不可辜负。
826文章数 4关注度
往期回顾 全部

科技要闻

前同事被蒸馏成Token,AI能否偷走职场经验

头条要闻

伊朗战争每天耗资20亿美元 美2027财年国防预算创新高

头条要闻

伊朗战争每天耗资20亿美元 美2027财年国防预算创新高

体育要闻

球员系列赛大满贯!赵心童10-3世界第一 加冕赛季第4冠

娱乐要闻

乔任梁离世10年 父母曝舞台光鲜的背后

财经要闻

美国私募信贷风险:小型次贷危机?

汽车要闻

阿维塔06T快上市了 旅行车还能这么玩?

态度原创

亲子
游戏
本地
艺术
军事航空

亲子要闻

一定要让孩子刻在脑子里

《地球防卫军6》总销量突破100万 发售三年半

本地新闻

跟着歌声游安徽,听古村回响

艺术要闻

贵人鸟总部地块荒了多年,盛荣砸3.2亿,盖成一栋滨江地标!

军事要闻

伊朗:在C-130运输机残骸中发现一具美军士兵遗体

无障碍浏览 进入关怀版