如何在MS Bot Framework V4中读取或访问userState?

问题描述

我在名为UserProfileDialog的父对话框中定义了一个属性'UserProfile',如下所示

class UserProfileDialog extends ComponentDialog {
    constructor(userState) {
        super(USER_PROFILE_DIALOG);

        this.userProfile = userState.createProperty(USER_PROFILE);
        this.addDialog(new TextPrompt(NAME_PROMPT)); ...
      }
      async nameStep(step) {
        const userProfile = await this.userProfile.get(step.context,new UserProfile());
        userProfile.isLoggedIn = false;
        return await step.beginDialog(LOGIN_DIALOG);
        }
    }
}

在父对话框中,我正在调用一个名为LOGIN_DIALOG的子对话框

class LoginDialog extends ComponentDialog {
    constructor(userState) {
        super(LOGIN_DIALOG);
        this.userProfile = userState.createProperty(USER_PROFILE);
        this.addDialog(new TextPrompt(TEXT_PROMPT));

        this.addDialog(new WaterfallDialog(WATERFALL_DIALOG,[
            this.initialStep.bind(this)
        ]));

        this.initialDialogId = WATERFALL_DIALOG;
    }

    async initialStep(stepContext) {
        const userProfile = await this.userProfile.get(stepContext.context,new UserProfile());
     }
}

问题::我想从LoginDialog访问UserProflieDialog中定义的UserProfile属性。 但是我收到以下错误 “ uncaughtException:userState.createProperty不是函数

如何解决错误并访问当前对话框其他地方定义的userState属性

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)