我在React应用程序中初始化CometChat时遇到了问题。
我得到的错误是:
Error: Cannot find name 'setCometChat'. Did you mean 'CometChat'?
'CometChat' is declared here.
我有一个useEffect
用于初始化:
useEffect(() => {
initCometChat();
// ...
}, []);
下面是initCometChat
函数:
const initCometChat = async () => {
const { CometChat } = await import('@cometchat-pro/cordova-ionic-chat');
const appID = `${process.env.REACT_APP_COMETCHAT_APP_ID}`;
const region = `${process.env.REACT_APP_COMETCHAT_REGION}`;
const appSetting = new CometChat.AppSettingsBuilder().subscribePresenceForAllUsers().setRegion(region).build();
CometChat.init(appID, appSetting).then(
() => {
console.log('CometChat was initialized successfully');
setCometChat(() => CometChat);
},
error => {
}
);
};
我试着像这样使用传入的setter函数:
setCometChat(CometChat);
但没有用。
1条答案
按热度按时间ecfdbz9o1#
不熟悉Ionic,但如果我理解正确的话,您正在尝试将
CometChat
的当前示例设置为您一直用于初始化的变量CometChat
。我认为错误的发生是因为CometChat
没有被初始化为使用useState()
钩子的状态。但在本例中,将
CometChat
状态设置为用于初始化的变量CometChat
不应该起作用。也许可以尝试将正在初始化的CometChat
和CometChat
本身分开。我的意思是: