HarmonyOS 鸿蒙Next Cannot read property SharedData of undefined

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Cannot read property SharedData of undefined

import { common } from ‘@kit.AbilityKit’;
import { systemShare } from ‘@kit.ShareKit’;
import { uniformTypeDescriptor as utd } from ‘@kit.ArkData’;

@Entry
@Component
struct ShareStr {

build() {
Column() {
Button(“分享”)
.onClick(() => {
// 构造ShareData,需配置一条有效数据信息
let data: systemShare.SharedData = new systemShare.SharedData({
//设置传输文件的类型(更多类型查看上方表格)
utd: utd.UniformDataType.PLAIN_TEXT,
//设置自定义传输文本
content: ‘Hello HarmonyOS’
});
// 额外再添加一条记录
data.addRecord({
utd: utd.UniformDataType.PNG,
// 通过文件所在目录进行传输
uri: ‘file://…/test.png’
});
// 构建ShareController
let controller: systemShare.ShareController = new systemShare.ShareController(data);
// 获取UIAbility上下文对象
let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
// 注册分享面板关闭监听
controller.on(‘dismiss’, () => {
console.info(‘Share panel closed’);
// 分享结束,可处理其他业务。
});
// 进行分享面板显示
controller.show(context, {
// DETAIL为详细预览图模式
previewMode: systemShare.SharePreviewMode.DETAIL,
// SINGLE为单选模式,传入一个记录则单传,多个则n选1;BATCH为批量模式
selectionMode: systemShare.SelectionMode.SINGLE
});
})
}
.height(‘100%’)
.width(‘100%’)
}
}

Error message:Cannot read property SharedData of undefined

SourceCode:

                let data: systemShare.SharedData = new systemShare.SharedData({

                                                       ^

Stacktrace:

    at anonymous (entry/src/main/ets/pages/api/ShareStr.ets:14:50)

4 回复

我的一直报错,跟后面的报错信息一模一样

啥意思?为啥不让用

在HarmonyOS(鸿蒙)开发中遇到“Cannot read property ‘SharedData’ of undefined”这类错误,通常是因为你尝试访问的对象尚未被正确初始化或定义。请检查以下几点:

  1. 确保你访问的SharedData对象或属性已经在你尝试访问它的地方被定义并初始化。
  2. 如果SharedData是某个组件或服务的属性,请确认该组件或服务已经正确加载并初始化。
  3. 检查代码逻辑,确保在访问SharedData之前,相关的依赖项或数据已经准备就绪。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部