Как мне интегрировать клиентскую часть socket.io с responsejs? - PullRequest
0 голосов
/ 01 января 2019

В моем реагировании, ComponentDidMount () он подписывается на сообщения чата, и когда сокет получает новые сообщения, они переводятся в состояние компонента.Когда пользователь вводит сообщение и отправляет форму, сообщение отправляется в виде JSON бэкэнду

two muppets

Это мой сокет socket.io

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

app.use(function(req, res, next) {
 res.header("Access-Control-Allow-Origin", "*");
 res.header("Access-Control-Allow-Headers", "Origin, X-Requested- 
 With, Content-Type, Accept");
 next();
});

server.listen(3000)

io.on('connection', function(socket) {
  console.log('user connected');

socket.on('disconnect', function() {
 console.log('user disonnected');
})

socket.on('chat', function(data) {
 io.emit('chat',data);
})
})

Вот мой компонент реакции:

    state = {
     currentRoom: {
        messages: [],
        message: ""
    }
};

componentDidMount() {
    socket.on('chat', message => {
        message.key = JSON.stringify(message);
        this.setState((prevState) => {
            let messages=prevState.currentRoom.messages;
            messages.push(message) {
                messages:messages
            }
        })
    })

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...