В настоящее время у меня есть что-то вроде этого:
const socket = require('socket.io-client')('https://example.com');
(....)
// Listen to the channel's messages
socket.on('m', message => {
// this is a Redux action that updates the state
this.props.updateTrades(message);
});
Редуктор выглядит так:
case actions.UPDATE_TRADES:
return {
...state,
trades: [
...state.trades,
action.trade
]
};
Я пробовал не использовать избыточность и просто следующее:
socket.on('m', message => {
this.setState(state => {
if (state.trades.length > 99) {
state.trades.splice(0, 1);
}
return {
trades: [
...state.trades,
message
]
});
});
Мне не нужно увеличивать мой массив trades
.Я счастлив, что сохранил около 100 вещей или около того ...
Сокет отправляет около 15 сообщений в секунду.Моя проблема: я не могу отображать сообщения в режиме реального времени!Это просто замерзает.Я думаю, что поток слишком быстрый?Есть предложения?
Заранее спасибо!