先分享一个有趣的现象。或许是小厂的缘故,经常会在一些项目中看到vuex的身影,憋屈的是它经常会被用来存用户相关的数据,并且是只存当前登陆用户的相关信息,或者再存些权限、菜单数据。经手过的项目中用到状态管理的地方其实并不多,所以很多时候也没有太在意,毕竟用是挺好用的,但写起来还是不如组件状态那么简单。直到项目上用了React,并大范围使用redux后我对状态管理有了全新,确切的说是比较正确的认知。为了描述它,我专门画了张草图:

图上是一个令人痛苦的需求,点击“按钮2”点时候要将外层的“按钮1”设置为禁用状态。要求并不高,痛苦的地方在于他们间隔着好几层的嵌套(现实可能会更残酷些),如果通过事件传递,那么就涉及到所有隔着的组件调整,让它们帮忙传递这个事件。不难,但有点烦。当然,也可以换个思路,比如添加一个全局的事件管理程序,在“按钮1”所在的组件订阅一个事件,事件触发后禁用“按钮1”。当然还有很多类似的方式,如react context等。这个时候我们如果冷静的想想,控制按钮禁用的其实是一个属性,在组件中应该对应一个状态(比如:isDisable=true),如果“按钮2”点击后可以直接修改这个状态,好像会简单很多。这应该就是状态管理最基本的用法。为了方便理解,我还专门画了一张草图:

大概就这意思吧,状态管理就是将组件状态统一管理,方便组件间状态共享。状态管理是一个非常科学的设计,不仅能降低代码复杂度,还能降低组件的耦合程度。在复杂的场景下,结合中间件可以轻易的解决很多令人头疼的需求,高效、简洁,当然最重要的还是优雅!
G1原理—7.G1的GC日志分析解读
1.TLAB的GC日志解读
互联网大中小厂实习面经:滴滴、美团、货拉拉、蔚来、信通院等
在前一段时间(
2024年
03月更新:这里的
前一段时间指的是一年前,也就是差不多
2023年的上半年;暑期实习、日常实习就是差不多每年春天前开始投递的,所以一定要抓紧机会),参与了一些互联网、信息技术、量化投资等类型公司的
暑期实习与日常实习的实习生岗位面试;为了更好地复盘,所以将每一次面试的具体流程、经历等都记录了下来,并在这里做一个面经汇总,一共是
12场面试。
深入浅出:Agent如何调用工具——从OpenAI Function Call到CrewAI框架
Agent,直译就是“代理”,但在AI领域,它更像是一个“智能小帮手”,可以帮用户完成各种复杂任务,比如回答问题、处理数据,甚至操控其他系统。
.NET 数据拷贝方案选择
浅拷贝
Object.MemberwiseClone 方法 (System) | Microsoft Learn,指针对对象执行非静态字段的浅复制操作
解读ENS网络连接,面向多云多池网络的高效互联
ENS网络连接通过统一建模和全局管控实现跨云跨池的网络互通、网络安全服务化,ENS网络连接给客户提供三大核心场景的支持。
[软件工具使用记录] windows离线ollama部署本地模型并配置continue实现离线代码补全
目前使用qwen2.5coder的32b模型,体验上和gpt-4o差不多(都稀碎),适用于编写脚本,查一些简单问题,例如
flask如何把变量传到前端,准确率还可以,但是补全功能稀碎。
关于产品设计的思考
KES(KingBaseES)集群部署实战
好了,接下来我们开始部署流程的详细演示。
linux下服务器稳定性压力测试工具stress安装使用介绍
一、简介
小狮博客