我有以下代码可以更新状态。我在-mandatory_fields
class CompleteProfile extends Component {
state = {
completeProfileNeeded: false,
}
componentDidMount = () => {
let { dispatch, session } = this.props
dispatch(getMandatoryFields(session.username))
}
使用dispatch(getMandatoryFields(session.username))
我的mapstatetoprops是:
const mapStateToProps = state => ({
mandatory_fields: state.User.mandatory_fields,
session: state.User.session,
})
如何从mandatory_fields
获得性别,宗教和年龄的价值,如果它们没有上述价值,请更新completeProfileNeeded: true
答案 0 :(得分:0)
值是mapped from state to props
,gender
将在this.props.mandatory_fields.gender
下。
您可以使用componentDidUpdate来检查是否定义了值并更新状态,但这必须是有条件的操作才能防止循环。
正如Mas所说的(completeProfileNeeded
)可以在地图状态下计算并与其他值一起传递。
您也可以在条件渲染中直接使用其中一些(或全部)值,而无需将其设置为状态值。