【问题标题】:How to solve:"Unable to find node on an unmounted component." on entering text如何解决:“无法在未安装的组件上找到节点。”在输入文本时
【发布时间】:2019-12-03 07:15:12
【问题描述】:

我已经在我的 React 网站中集成了 Botframework V3,并包含了 Web Chat 组件的自定义构建。我已经包含了样式的 cdn

<link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />

当我在输入标签中输入值时,我会收到此错误。

WebChat.js

import React from 'react';
import { Chat } from 'botframework-webchat';


export default class extends React.Component { 
  render() {
    return (
        <React.Fragment>
            <Chat 
            directLine={{ secret: ' SECRET_KEY' }} 
            user={{ id: 'user_id', name: 'user_name' }}/>
        </React.Fragment>
    );
  }
}

错误

无法在未安装的组件上找到节点。不变的 node_modules/react-dom/cjs/react-dom.development.js:57 findCurrentFiberUsingSlowPath node_modules/react-dom/cjs/react-dom.development.js:4438 查找当前主机光纤 node_modules/react-dom/cjs/react-dom.development.js:4450 查找主机实例 node_modules/react-dom/cjs/react-dom.development.js:18562 findDOMNode node_modules/react-dom/cjs/react-dom.development.js:19068 Chat.handleKeyDownCapture /home/React/Botframework webchat/BotFramework-WebChat-3/built/Chat.js:160

【问题讨论】:

  • 为什么使用Fragment而不是直接返回Chat
  • 好吧,我会在我的网站中为聊天机器人 UI 添加更多代码。
  • 您为什么要尝试使用 BotFramework-WebChat 的 v3“botchat”版本?尽管您的机器人使用 v3 BotFramework SDK,但您不需要匹配网络聊天的版本。 v4 版本更丰富,使用 React 设计和构建,并且集成得更好。如果您需要示例代码,请告诉我。我在 React 项目中运行 v3 和 v4 机器人。很高兴提供一些示例代码。 (注意:WebChat 的 v3 版本已停用,将被弃用。)
  • 您在网络聊天构建中使用的 React 版本是否与您在网站中使用的版本相同?
  • 将 react 版本降级为 react: 16.5.2 解决了问题@EricDahlvang

标签: reactjs botframework


【解决方案1】:

将 react 版本降级为 react: 16.5.2 解决问题

【讨论】:

    猜你喜欢
    • 2021-04-13
    • 2019-03-11
    • 1970-01-01
    • 2021-02-10
    • 2019-03-15
    • 2019-01-03
    • 2021-08-04
    • 2019-11-07
    • 2022-11-03
    相关资源
    最近更新 更多