Only remove component's listener, not all

This commit is contained in:
Julia Friesel
2018-06-14 17:29:21 +02:00
parent 1660db41e0
commit a46eb4421b
5 changed files with 1598 additions and 1583 deletions
+14 -8
View File
@@ -16,11 +16,23 @@ export default class DayView extends Component {
super(props)
this.cycleDay = props.cycleDay
this.showView = props.showView
bleedingDaysSortedByDate.addListener(setStateWithCurrentCycleDayNumber.bind(this))
this.state = {
cycleDayNumber: getCycleDayNumber(this.cycleDay.date),
}
this.setStateWithCurrentCycleDayNumber = (function (DayViewComponent) {
return function () {
DayViewComponent.setState({
cycleDayNumber: getCycleDayNumber(DayViewComponent.cycleDay.date)
})
}
})(this)
bleedingDaysSortedByDate.addListener(this.setStateWithCurrentCycleDayNumber)
}
componentWillUnmount() {
bleedingDaysSortedByDate.removeAllListeners()
bleedingDaysSortedByDate.removeListener(this.setStateWithCurrentCycleDayNumber)
}
render() {
@@ -56,10 +68,4 @@ export default class DayView extends Component {
</View >
)
}
}
function setStateWithCurrentCycleDayNumber() {
this.setState({
cycleDayNumber: getCycleDayNumber(this.cycleDay.date)
})
}