HarmonyOS鸿蒙Next中page使用export被警告,有没有更优雅的方法
HarmonyOS鸿蒙Next中page使用export被警告,有没有更优雅的方法 比如我创建PageA页面,因为PageA页面有很多模块功能,所以我想把这些功能分开A,B,C,D,代码如下:
[@Entry](/user/Entry)
@Component
export struct PageA {
// A功能
a: A= new A(this);
// B功能
b: B= new B(this);
// C功能
c: C= new C(this);
aboutToAppear() {
a.init()
b.init()
c.init()
}
这样我可以分别在不同的类调用不同的初始方法,为什么PageA要用export呢?因为abc这些类需要使用到PageA的一些方法或者变量
但是这样写会被警告:
It’s not a recommended way to export struct with @Entry decorator, which may cause ACE Engine error in component preview mode.
所以我想问下,有更优雅的方法吗
更多关于HarmonyOS鸿蒙Next中page使用export被警告,有没有更优雅的方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
可以通过@Component
组件方式调用
更多关于HarmonyOS鸿蒙Next中page使用export被警告,有没有更优雅的方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
最简单的就是把@Entry去掉,然后再写一个空页面作为PageA,PageA再引用这个组件。但如果想写的优雅点,最好还是把变量和方法提取出来写到一个类里面,然后再在这个页面进行引用
明白了谢谢!就是用一个组件封装来把这些ABC放进去,但是多一个空白组件会增加渲染吗
将共用的方法提取出来放到公共类中,将这部分变成函数式编程,其它需要共享的属性按需使用@StorageProp
或@StorageLink
在不同页面间共享,
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
PageA这个页面太多逻辑方法,所以想把逻辑方法抽出来ABC类这样方便以后扩展维护。问题是@Entry和export一起用会有警告,
在HarmonyOS鸿蒙Next中,使用export
导出页面组件时可能会收到警告,建议使用@Entry
装饰器来标记页面的入口组件。@Entry
是鸿蒙推荐的方式,用于声明页面的根组件,避免直接使用export
。例如:
@Entry
@Component
struct MyPage {
build() {
// 页面内容
}
}
这种方式更符合鸿蒙的设计规范,且能避免不必要的警告。