getDerivedStateFromProps не возвращает новое состояние - PullRequest
0 голосов
/ 03 августа 2020

У меня есть componentWillReceiveProps, который возвращает обновленное состояние, как показано ниже

  componentWillReceiveProps(nextprops) {
    let childDateTime = nextprops.selectedDate != null && nextprops.selectedDate != '' ? nextprops.selectedDate : null;
    let date = nextprops.selectedDate != null && nextprops.selectedDate != '' ? new Date(nextprops.selectedDate) : new Date();

    this.setState({ date, childDateTime });
}

Я хочу заменить это на getDerivedStateFromProps, как показано ниже

static getDerivedStateFromProps(nextProps, prevState) {
    if (nextProps.selectedDate !== prevState.selectedDate) {
        return ({ 
            childDateTime : nextProps.selectedDate != null && nextProps.selectedDate != '' ? nextProps.selectedDate : null,
            date : nextProps.selectedDate != null && nextProps.selectedDate != '' ? new Date(nextProps.selectedDate) : new Date()
        })
    }

    return null;
}

Но это не возвращает обновленное состояние. Могу я узнать, что не так с этим кодом? Спасибо.

...