前言
随着 HarmonyOS NEXT 正式进入快速发展阶段,越来越多开发者开始接触 ArkTS 开发。
很多刚从 Java、Kotlin、Vue、React 转过来的开发者,经常会遇到这样的问题:
- 状态更新为什么不生效?
- @State 和 @Prop 到底有什么区别?
- 页面数据如何优雅传递?
- List 为什么会卡顿?
- 页面销毁后为什么内存没有释放?
本文结合实际项目经验,总结10个高频开发技巧,希望帮助大家快速提升鸿蒙开发效率。
1. 优先使用@Builder封装重复UI
很多新手喜欢复制粘贴代码:
Row() { Image($r('app.media.avatar')) .width(40) .height(40) Text('张三') }如果项目里出现几十次:
@Builder UserItem(name: string) { Row() { Image($r('app.media.avatar')) .width(40) .height(40) Text(name) .margin({ left: 10 }) } }调用:
this.UserItem("张三")优势:
- 提高复用性
- 降低维护成本
- 提升代码可读性
2. List必须配置LazyForEach
错误写法:
ForEach(this.dataList,(item)=>{ ListItem(){ Text(item.name) } })数据量超过500条时容易卡顿。
推荐:
LazyForEach( this.dataSource, (item) => { ListItem() { Text(item.name) } } )原因:
LazyForEach采用懒加载机制。
只渲染当前可见区域。
企业项目基本标配。
3. 善用状态管理
很多同学分不清:
@State @Prop @Link @Provide @Consume记住一个口诀:
页面内部:State 父传子:Prop 双向绑定:Link 跨层传递:Provide + Consume实际开发中:
80%场景:
@State15%场景:
@Prop @Link5%场景:
@Provide @Consume4. 网络请求统一封装
不要在页面中直接写:
axios.get(...)推荐:
api/ ├── userApi.ts ├── orderApi.ts ├── goodsApi.ts例如:
export function getUserInfo() { return request({ url:'/user/info', method:'GET' }) }页面:
getUserInfo()优点:
- 统一维护
- 方便切换接口
- 支持统一拦截器
5. 页面参数统一管理
跳转:
router.pushUrl({ url:'pages/Detail', params:{ id:1001 } })接收:
let params = router.getParams()推荐建立:
types/router.ts统一定义参数类型。
避免大型项目参数混乱。
6. 图片资源不要全部放本地
很多项目把所有图片放:
resources最终导致:
HAP包体积暴涨推荐:
图标 -> 本地 商品图 -> OSS Banner -> CDN企业项目基本如此。
启动速度更快。
7. Toast统一封装
不要每个页面都写:
promptAction.showToast({ message:'成功' })统一:
Toast.show("成功")后续切换样式无需修改业务代码。
8. 页面离开及时释放资源
例如:
Web组件 视频播放器 地图组件 定时器页面退出:
aboutToDisappear() { clearInterval(this.timer) }否则容易:
内存泄漏 页面卡顿 耗电增加9. 善用TypeScript类型约束
不要:
let user:any推荐:
interface User { id:number name:string age:number }使用:
let user:User好处:
- 自动提示
- 编译检查
- 降低Bug率
10. 建立项目统一目录规范
推荐企业级结构:
src │ ├── pages │ ├── components │ ├── api │ ├── utils │ ├── model │ ├── constants │ ├── common │ ├── router │ └── resources这样即使项目达到:
100+ 页面 50+ 接口依然容易维护。
企业项目开发建议
很多开发者刚接触鸿蒙时喜欢:
功能先实现再说结果:
代码越来越乱 组件越来越难维护 项目越来越难扩展正确思路应该是:
组件化 模块化 类型化 统一封装 统一规范这也是目前大部分 HarmonyOS NEXT 企业项目采用的开发模式。
总结
ArkTS 并不难,真正难的是工程化思维。
掌握本文这10个开发技巧后,你会发现:
✅ 页面开发速度更快
✅ 代码结构更清晰
✅ 项目更容易维护
✅ 更接近企业级开发标准
对于刚入门 HarmonyOS NEXT 的开发者来说,与其学习大量零散知识,不如先养成良好的开发习惯。
因为真正拉开开发者差距的,往往不是会不会写页面,而是会不会写一个能长期维护的项目。