I have this html text:
"<span id='capo' class='capo' data-capo=3>Capo 3</span>"
This is part of a larger html that is inserted via dangerouslySetInnerHTML
And I have a listener like this:
componentDidMount() {
document.getElementById('capo').addEventListener('click', this.changeKey);
}
However this only works for one click—after that the listener doesn't exist. I'm guessing because React has replaced the component (since I change the state in this.changeKey), and therefore the listener no longer exists.
How do I reliably set a listener for React components?