2 回答
TA贡献1845条经验 获得超8个赞
要this.state在构造函数中进行设置,您将需要解构props以获得所需的值,类似于componentDidMount. 我会完全删除初始状态值的设置componentDidMount。
constructor(props) {
super(props);
const { personalDetails, personalAddress } = props.registeredUser;
const { params = {} } = props.navigation.state;
const { displayAlert = true } = params;
this.state = {
validationErrors: {},
displayErrors: false,
titleName: personalDetails && personalDetails.firstName,
displayAlert
};
}
componentDidMount() {
const { personalDetails, personalAddress } = this.props.registeredUser;
console.log(this.props.registeredUser);
if (personalDetails) {
this.props.firstNameChanged(personalDetails.firstName);
this.props.lastNameChanged(personalDetails.lastName);
this.props.suffixChanged(personalDetails.suffix);
this.props.prefixChanged(personalDetails.prefix);
}
if (personalAddress && personalAddress.stateCode) {
this.props.stateChanged(personalAddress.stateCode);
}
}
我不确定这是否会解决您的问题或如何this.state设置为null.
TA贡献2021条经验 获得超8个赞
我认为问题出在DetailsConfirmationForm组件中的这一行
validationErrors={this._getErrors()}您正在调用函数而不是传递.
尝试这个
validationErrors={this._getErrors}添加回答
举报
