我使用WebChat作为我的机器人的网页界面,当用户单击重置按钮时,我想重置会话。我遵循了这个问题,但是商店没有重置UI,只是直接线路正在重新连接。我有以下错误: uncaught at forkPut TypeError:无法读取未定义属性的“错误”
从‘react’导入React,{ useState,useEffect };从‘botframework- WebChat’导入ReactWebChat,{ createDirectLine,createStore };从./createStore导入directLineDisconnect -图标-inline.css‘;import './MinimizableWebChat.css';const initializeDirectLine =异步setDirectLine => {setDirectLine({ token });};const WebChat= props => { const directLine,store }= props;console.log('DL:');console.log(directLine);返回directLine?:“Connecting.”};=> { => { console.log('DL create req ');const directLine,setDirectLine = useState ();useEffect(() ){ initializeDirectLine(setDirectLine);},[];const storeMiddleware = () => next => action => {=>(=>);如果(action.type ===‘DIRECT/CONNECT_language’){ store.dispatch({ store.dispatch:‘webchat/SEND_store.dispatch’),有效载荷:{ name:'webchat/NewConnect',值:{store.dispatch:{ language: document.documentElement.lang颇具window.navigator.language }};}否则,如果(action.type ===‘setDirectLine/DISCONNECT_console.log’){console.log(“-->直接线路/断开连接实现”);setDirectLine(null);console.log(“--> 1");setStore(createStore({},storeMiddleware));console.log(”--> 2");initializeDirectLine(setDirectLine);console.log(“--> 3");}返回next(action);};const存储,setStore = useState(createStore({},storeMiddleware));
发布于 2019-11-14 16:19:24
查看一下空闲后清空网络聊天示例。它展示了如何清除抄本历史,并创建一个新的对话与机器人。注意,您必须使用Web的最新版本-- 4.6.0版本--才能使此示例正常工作。旧版本有一个错误,不允许您在没有“forkPut”类型错误的情况下更改存储。
https://stackoverflow.com/questions/58859031
复制相似问题