Ich zeige "Fehler modal", wenn Benutzer versucht, sich mit falschen Anmeldeinformationen anzumelden. Ich überprüfe, ob meine nextProps.errorMsg nicht definiert ist oder nicht. Wenn eine Fehlermeldung angezeigt wird, wird ein Fehlermodal angezeigt.Wie man Fehler Requisiten behandelt? (Fehler Modal erscheint nur einmal)
Es funktioniert nur beim ersten Versuch. Und ich habe festgestellt, dass componentWillReceiveProps nicht aufgerufen hat, wenn ich props.errorMsg von 'Can not Find Account' auf '' oder undefined gesetzt habe.
componentWillReceiveProps(nextProps) {
// onAuthComplete Pass twice. so. it's
console.log('yo');
console.log(nextProps.errorMsg);
if(nextProps.errorMsg) {
this._showModal(); <<- here
}
this.setState({isLoading:true});
if (nextProps.hType==1 || nextProps.hType==2) {
nextProps.navigation.navigate('Feed');
this.setState({ password: ''})
}
}
_hideModal =() => {
// empty error
this.props.emptyErrorMsg;
this.setState({ isModalVisible: false });
}
Hier ist mein Snippet meiner Reduzierungen
const INITIAL_STATE = { token: null, errorMsg: undefined }
export default function(state = INITIAL_STATE, action) {
case AUTH_LOGIN_FAIL:
return { token: null, errorMsg: `Can't Find Account` };
case EMPTY_ERROR_MSG:
return { ...state, errorMsg: undefined}
}
und Aktionen
export const emptyErrorMsg =() => ({
type: EMPTY_ERROR_MSG
})
Ist das ein 'Typho', den Sie nicht die Funktion' this.props.emptyErrorMsg' genannt haben? – Panther
??? Ich sehe keinen Typho. Könnten Sie genauer sein? –
Ich benutze react-redux und spreche bereits emptyErrorMsg versprechen. Ich bin etwas verwirrt wegen deiner Antwort. –