React Redux - получить значение состояния Redux и обновить локальное состояние - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть следующий код, который обновляет состояние. Я храню значения обязательных полей в - mandatory_fields

class CompleteProfile extends Component {
  state = {
    completeProfileNeeded: false,
  }

  componentDidMount = () => {
    let { dispatch, session } = this.props
    dispatch(getMandatoryFields(session.username))
  }

Состояние Redux обновляется, как показано ниже, используя dispatch(getMandatoryFields(session.username))

enter image description here

Мои карты состояния:

const mapStateToProps = state => ({
  mandatory_fields: state.User.mandatory_fields,
  session: state.User.session,
})

Как я могу получить значение пола, религии и возраста из mandatory_fields, и если они не имеют значения, как показано выше, обновите completeProfileNeeded: true

1 Ответ

0 голосов
/ 02 сентября 2018

Значения mapped from state to props, gender будут ниже this.props.mandatory_fields.gender.

Вы можете использовать componentDidUpdate, чтобы проверить, определены ли значения и обновить состояние, но это должно быть условным действием для предотвращения зацикливания.

Как сказал Мас, (completeProfileNeeded) можно вычислить в состоянии карты и передать с другими значениями.

Вы также можете напрямую использовать некоторые (или все) из этих значений в условном рендеринге, не устанавливая его как значение в состоянии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...