作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一次学习ReactJS,遵循官方文档并了解了组件的工作原理,现在我想与websockets连接,问题就从这里开始了。为什么这这么难实现?
// ReactJS
ReactDOM.render(
<div className="media">
<img className="media-figure" src={"kitten.jpg"} width="48" height="48" />
<p className="media-body">Hello</p>
</div>,
document.getElementById('chat-list')
);
// Socket connection
socket = new WebSocket("ws://" + window.location.host + "/echo");
socket.onmessage = function(e) {
alert(e.data);
}
socket.onopen = function() {
socket.send("hello world");
}
// Call onopen directly if socket is already open
if (socket.readyState == WebSocket.OPEN) socket.onopen();
我想要的是,当 onmessage
时,我需要渲染该 media
div。
最佳答案
您需要在 socket.onmessage
回调中调用 ReactDOM.render
方法。
对于更大的应用程序,我建议使用 React 团队建议的基于 Flux 的架构。最流行的实现之一是 Redux,它非常容易学习和使用。您可以在 Flux 的概述页面上找到更多信息(我推荐他们的视频): https://facebook.github.io/flux/docs/overview.html
关于javascript - 如何在 ReactJS 中使用 websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39851013/
我是一名优秀的程序员,十分优秀!