I overlooked an API call (componentWillReceiveProps). So in my SlotView I use the following logic to listen/stop listening to the slot model. Still curious to know if there are better patterns possible.
componentWillReceiveProps: function(nextProps) {
if (nextProps.slot && nextProps.slot != this.props.slot) {
this.props.slot.removeListener('change', this.slotListener);
nextProps.slot.on("change",this.slotListener);
}
},
slotListener : function (data) {
this.setState({ selectedIndex: -1 })
},
componentDidMount: function () {
var self = this;
this.props.slot.on("change",this.slotListener)
},
componentWillUnmount: function () {
this.props.slot.removeListener('change', this.slotListener);
},