【发布时间】:2019-01-20 17:51:50
【问题描述】:
我正在尝试在我的 React/Redux/redux 传奇应用程序中通过 Pusher 实现消息传递库 Chatkit,我是 Redux 的新手。连接chatkit的代码如下:
const chatManager = new ChatManager({
instanceLocator: 'v1:us1:80215247-1df3-4956-8ba8-9744ffd12161',
userId: 'sarah',
tokenProvider: new TokenProvider({ url: 'your.auth.url' })
})
chatManager.connect()
.then(currentUser => {
console.log('Successful connection', currentUser)
})
.catch(err => {
console.log('Error on connection', err)
})
我需要全局存储 chatManager 和 currentUser 对象(它们是具有附加功能的复杂类的实例),以便我以后可以再次使用它们来加入房间、订阅事件等。
我的第一个想法是我应该将它存储在 Redux 中,因为它现在是我的“全局存储”,但后来我意识到它可能无法正常工作,因为它不是我从存储中取回的原始对象,它可能是一个克隆。然后我读到,显然只有普通对象应该存储在 Redux 中。
那么,不是普通对象但需要全局存储的东西在哪里?我不想将它们放在 window 对象上,因为我可能会将其转换为 React Native 应用程序,而且它看起来很乱。
【问题讨论】:
标签: reactjs redux redux-saga