У меня есть два компонента, оба они разделены. Я должен отправить данные из component1 в component2 через сокеты. Но мой component2 прослушивает событие только один раз, через одно время он не прослушивает событие
Component1
class Component extends React.component{
socket = socketIOClient("http://localhost:5000")
sendData = () =>{
socket.emit("newData", {somedata})
}
render() {
return(
<button onClick={this.sendData} >Send</button>
})
}
Component2
class Component2 extends React.Component{
constructor(props) {
super(props)
this.state = {data}
}
socket = socketIOClient("http://localhost:4000")
componentDidMount() {
socket.on("newData", data =>
this.setState(data)
)}
render(){
return(<h1>{this.state.data.someAttribute} <h1/>)
}
}
Сервер
const io = socketIO(server)
io.on("connection", socket =>{
socket.on("newData", data=> socket.emit("newData"))
})
Компонент1 отправляет данные на сервер любое количество раз (проверяется путем входа в консоль сервера), но Компонент2 получает данные только в первый раз.