From 468d369a10757fe4c3502484604a011a62c336ae Mon Sep 17 00:00:00 2001 From: "anton.buksa" Date: Mon, 16 Sep 2024 15:31:11 +0200 Subject: [PATCH] properly derive state for timezone setting --- .../manage_timezones/manage_timezones.tsx | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/webapp/channels/src/components/user_settings/display/manage_timezones/manage_timezones.tsx b/webapp/channels/src/components/user_settings/display/manage_timezones/manage_timezones.tsx index 1b2fc3840a..a8d3db7efe 100644 --- a/webapp/channels/src/components/user_settings/display/manage_timezones/manage_timezones.tsx +++ b/webapp/channels/src/components/user_settings/display/manage_timezones/manage_timezones.tsx @@ -61,21 +61,17 @@ type State = { } export default class ManageTimezones extends React.PureComponent { - constructor(props: Props) { - super(props); - const useAutomaticTimezone = ( - props.useAutomaticTimezone === 'true' || - props.useAutomaticTimezone === true - ); - this.state = { + static getDerivedStateFromProps(nextProps: Props) { + const useAutomaticTimezone = nextProps.useAutomaticTimezone === 'true' || nextProps.useAutomaticTimezone === true; + return { useAutomaticTimezone, - automaticTimezone: props.automaticTimezone, - manualTimezone: props.manualTimezone, + automaticTimezone: nextProps.automaticTimezone, + manualTimezone: nextProps.manualTimezone, isSaving: false, openMenu: false, selectedOption: { - label: props.timezoneLabel, - value: useAutomaticTimezone ? props.automaticTimezone : props.manualTimezone, + label: nextProps.timezoneLabel, + value: useAutomaticTimezone ? nextProps.automaticTimezone : nextProps.manualTimezone, }, }; }