Ответ
Павел Щеглов в принципе правильный, за исключением того что вы в этом месте
componentDidMount() {
socket.on('test', function(data){
this.setState({/* ....... */});
}
}.bind(this),
получите ошибку
this.setState is not a function
, вне
callback-а
вы должны переопределить this, например так
let self = this;
и внутри функции сменить
this.setState
на
self.setState
.
Это произойдет потому что каждая функция имеет свой собственный контекст, к которому вы обращаетесь через this, и в callback-е this уже не ссылается на ваш компонент.