Другим решением было бы перенести ваше состояние в магазин с помощью решения по управлению состояниями, такого как MobX - https://mobx.js.org/README.html
MobX имеет приятную и простую кривую обучения и довольно интуитивно понятный.
Короче говоря, вы бы украсили значения в вашем магазине с помощью @observable
:
export class DateRangePickerDialogStore {
@observable startDate = undefined;
@observable endDate = undefined;
@action
resetStore = () =>< {
this.startDate = undefined;
this.endDate = undefined;
}
@action
updateStartDate = value => {
this.startDate = value;
}
@action
updateEndDate = value => {
this.endDate = value;
}
}
и ваш компонент с @observer
:
export const DateRangePickerDialog = observer((props: DateRangePickerDialogProps & DialogProps){
...
})
, а затем вы можете устанавливать и получать значения из своего хранилища, вызывая action
s или из переменных хранилища. Реализация, подобная этой, позволит вашим сохраненным значениям сохранять повторные отображения компонентов.
Надеюсь, это поможет:)