我正在使用react和www.example.com构建一个简单的真实的消息传递应用程序socket.io进行练习。
当前解决方案仅使用React的Context来存储socket.io对象,而使用React-Redux来存储其余对象。
我在redux旁边使用上下文的原因是,当我试图将www.example.com对象存储到其状态时,redux会发出以下错误socket.io。
我还想到使用导出的socket.io模块来代替Context:
import io from "socket.io-client";
const socket = io(URL);
socket.connect();
export socket;
但确实读过一些帖子,说这不是使用React生态系统的一个很好的实践。
有意见吗?
2条答案
按热度按时间xpcnnkqh1#
使用Redux进行状态管理,使用Context进行依赖注入,就像您在这里所做的那样,这绝对是很好的。
这正是每一个这些都是为了什么。
flseospp2#
我也在我的公司里做一个实时聊天小部件项目,有一件事我会建议你,当使用react时,它完全取决于你使用什么,在哪里使用,因为react是一个库。但是记住一件事,你的组件必须是可伸缩的。我用svelte做了我的小部件,用事件处理程序管理Web套接字。你应该给予。
第一个文件包含所有套接字代码和事件侦听器,第二个文件包含写入的自定义事件,这些事件将调用第一个文件中的套接字操作。