I don't think componentWillUnmount() is getting deprecated. You refer to componentWillMount() later so I think you might have made a typo there :)
Currently I add event listeners in componentDidMount() and remove them in componentWillUnmount(). It's worked really well for me so far.