React Redux-获取Redux状态的值并更新本地状态

时间:2018-09-02 17:12:49

标签: reactjs redux

我有以下代码可以更新状态。我在-mandatory_fields

中存储必填字段的值
class CompleteProfile extends Component {
  state = {
    completeProfileNeeded: false,
  }

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

使用dispatch(getMandatoryFields(session.username))

更新Redux状态,如下所示

enter image description here

我的mapstatetoprops是:

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

如何从mandatory_fields获得性别,宗教和年龄的价值,如果它们没有上述价值,请更新completeProfileNeeded: true

1 个答案:

答案 0 :(得分:0)

值是mapped from state to propsgender将在this.props.mandatory_fields.gender下。

您可以使用componentDidUpdate来检查是否定义了值并更新状态,但这必须是有条件的操作才能防止循环。

正如Mas所说的(completeProfileNeeded)可以在地图状态下计算并与其他值一起传递。

您也可以在条件渲染中直接使用其中一些(或全部)值,而无需将其设置为状态值。