Remove componentWillReceiveProps from newsletter date time

[MAILPOET-2133]
This commit is contained in:
Pavel Dohnal
2019-06-26 09:07:08 +02:00
committed by M. Shull
parent 2ff2a753bf
commit cc9e9f86dc

View File

@ -13,8 +13,15 @@ class DateTime extends React.Component {
this.state = this.buildStateFromProps(props); this.state = this.buildStateFromProps(props);
} }
componentWillReceiveProps(nextProps) { componentDidUpdate(prevProps) {
this.setState(this.buildStateFromProps(nextProps)); if (
this.props.value !== prevProps.value
|| this.props.defaultDateTime !== prevProps.defaultDateTime
) {
setImmediate(() => {
this.setState(this.buildStateFromProps(this.props));
});
}
} }
getDateTime = () => [this.state.date, this.state.time].join(this.DATE_TIME_SEPARATOR); getDateTime = () => [this.state.date, this.state.time].join(this.DATE_TIME_SEPARATOR);
@ -72,6 +79,7 @@ class DateTime extends React.Component {
} }
DateTime.propTypes = { DateTime.propTypes = {
value: PropTypes.string,
defaultDateTime: PropTypes.string.isRequired, defaultDateTime: PropTypes.string.isRequired,
dateDisplayFormat: PropTypes.string.isRequired, dateDisplayFormat: PropTypes.string.isRequired,
dateStorageFormat: PropTypes.string.isRequired, dateStorageFormat: PropTypes.string.isRequired,
@ -88,6 +96,7 @@ DateTime.defaultProps = {
name: '', name: '',
disabled: false, disabled: false,
timeValidation: undefined, timeValidation: undefined,
value: undefined,
}; };
export default DateTime; export default DateTime;