2 回答

TA貢獻1845條經(jīng)驗 獲得超8個贊
要this.state在構(gòu)造函數(shù)中進行設(shè)置,您將需要解構(gòu)props以獲得所需的值,類似于componentDidMount. 我會完全刪除初始狀態(tài)值的設(shè)置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設(shè)置為null.

TA貢獻2021條經(jīng)驗 獲得超8個贊
我認(rèn)為問題出在DetailsConfirmationForm組件中的這一行
validationErrors={this._getErrors()}
您正在調(diào)用函數(shù)而不是傳遞.
嘗試這個
validationErrors={this._getErrors}
添加回答
舉報