diff --git a/day-view.js b/day-view.js index b615ffd42784baf35e9ae052e2f499724af2bb0e..7ed99289d7d9c8f76c3b09035de23510d7cf2c32 100644 --- a/day-view.js +++ b/day-view.js @@ -15,14 +15,20 @@ const getCycleDay = cycleDayModule(bleedingDaysSortedByDate) export default class DayView extends Component { constructor(props) { super(props) + this.cycleDay = props.navigation.state.params.cycleDay this.state = { - cycleDay: props.navigation.state.params.cycleDay + cycleDayNumber: getCycleDay(this.cycleDay.date), } + bleedingDaysSortedByDate.addListener(setStateWithCurrentCycleDayNumber.bind(this)) + } + + componentWillUnmount() { + bleedingDaysSortedByDate.removeListener(setStateWithCurrentCycleDayNumber) } render() { const navigate = this.props.navigation.navigate - const day = this.state.cycleDay + const day = this.cycleDay const bleedingValue = day.bleeding && day.bleeding.value let bleedingLabel if (typeof bleedingValue === 'number') { @@ -43,4 +49,10 @@ export default class DayView extends Component { </View > ) } +} + +function setStateWithCurrentCycleDayNumber() { + this.setState({ + cycleDayNumber: getCycleDay(this.cycleDay.date) + }) } \ No newline at end of file