技能提升
约 438 字大约 1 分钟
2026-01-20
技能提升是指通过学习和实践,不断提升个人在某一领域的专业知识和技能,从而提高工作效率和竞争力的过程。无论是技术技能、软技能还是管理技能,持续的学习和发展都是职业成长的重要组成部分。
开发思路
做项目需要有“把问题切小 + 让大脑有抓手”的流程
拆分需求
不管做啥功能,先要进行分析:
页面上有什么状态(State)?
例:isOpen、activeTab、formValues、list、loading、error
这些状态怎么变(Actions)?
例:点击按钮、滚动、接口返回、定时器、路由变化
状态变了怎么映射到视图(Render / View)?
例:isOpen=true → 加 class / 渲染弹窗 / 禁止滚动
副作用有哪些(Effects)?
例:请求接口、localStorage、埋点、订阅事件、setInterval
迷茫的本质:脑子同时在想“状态 + 事件 + DOM + CSS + 接口”,同时开 5 个线程当然会卡。
JS 结构
最好的方法就是按“生命周期”写,不要按“想到啥写啥”
最稳的结构就是:init → bind → render → destroy(任何组件/模块都适用)
init():准备数据,读配置,首屏渲染,开启订阅bindEvents():只做事件绑定(别写业务)setState(partial):唯一改状态的入口render():只根据 state 更新 DOM(别写请求)destroy():解绑事件、取消订阅、清 timer
- 初始化:
init() - 视图数据:
state(集中放) - 私有事件:模块内部 DOM 事件(点击/输入)→
bindEvents() - 公共事件:跨模块通信(event bus / custom event)→
subscribe()/publish() - 渲染:
render() - 销毁:
destroy()(很多 bug 就是没 destroy)