HarmonyOS 鸿蒙Next @Prop 为什么不能提供默认值啊?
HarmonyOS 鸿蒙Next @Prop 为什么不能提供默认值啊? 非常不方便,每次提供一个参数,所有使用组件的地方都要传递一个默认值!
文档中不是写了可以设置初始值的吗,https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/arkts-prop-0000001473537702-V3#section41901391418
更多关于HarmonyOS 鸿蒙Next @Prop 为什么不能提供默认值啊?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以的,文档有说可以提供默认值,虽然报错,但不影响正常使用,之前有人问过,官方说是DES的bug,不过很久了,一直没有修复
我就说呢,一直报错搞得我不敢设置默认值
应该是可以用的,官方的例子中是有的,但 etsLint 没有更新
666 eslint 的更新频率是啥,
对,这个设计很奇怪,预览不了
在HarmonyOS中,@Prop
装饰器用于在父子组件之间传递数据,并且它是单向绑定的,即父组件传递给子组件的数据变化会同步到子组件,但子组件中的修改不会影响父组件。@Prop
不支持默认值的原因主要与其设计机制有关。
首先,@Prop
的核心作用是实现父子组件之间的数据传递和同步,它的值必须由父组件显式传递。如果允许@Prop
设置默认值,可能会导致逻辑上的不一致,因为默认值会覆盖父组件传递的值,从而破坏单向数据流的规则。
其次,@Prop
的设计初衷是确保数据的来源明确,避免子组件在没有父组件数据传递的情况下使用默认值运行,这可能掩盖潜在的逻辑错误或数据传递问题。
如果需要默认值,可以在子组件内部通过逻辑判断或@State
等其他装饰器来实现,而不是直接为@Prop
设置默认值。