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}添加回答
舉報
