как изменить имя события с помощью socket.io

#javascript #reactjs #react-native #socket.io

Вопрос:

Используйте розетку.io Я хотел бы использовать состояние для обработки событий, которые прослушивает мой сокет. Проблема в том, что как только имя события сокета установлено, я не могу его изменить. То, что я надеюсь сделать, — это иметь сокет.io прослушивает события с именем события start. Затем, если кнопка нажата, гнездо.io будет прослушивать события с другим новым именем события

 state = {
  channel:'start'
};

componentDidMount() {
  // .. lots of other stuff
  apiListener()
}

apiListener = () => {
  mySocket.on(this.state.channel, data => {
    console.log(data)
  })
}

render(){
  return(
    <View>
      <Button onPress={()=> setState({channel: 'great'})} />
      <Button onPress={()=> setState({channel: 'better'})} />
    </View>
  )
}