Я пытался гуглить, но ничего не получилось, поэтому я здесь.
Может ли кто-нибудь дать мне ответ с кодом, чтобы исправить это вместо комментария (я только начал работать с native native пару недель назад)
я перепробовал все решения на stackoverflow, но поскольку я новичок, я не знаю, как объединить решение с моим собственным кодом,Я получаю ошибку , когда регистрация успешна, и когда она успешна, она переходит к login.js и ТАМ , она получает эту ошибку.Так что я думаю, что проблема внутри SignIn.js.Вот мой код:
** РЕДАКТИРОВАТЬ!
export default class SignIn extends React.Component {
constructor(props) {
super(props);
this.state = {
username: "",
email: "",
visibleModalId: null
};
}
static navigationOptions = ({ navigation }) => {
const { params = {} } = navigation.state;
return {
title: "- SIGN IN -",
headerRight: <View />,
headerLeft: (
<TouchableOpacity onPress={params.Cancel}>
<Text style={styles.cancelBtn}>Cancel</Text>
</TouchableOpacity>
),
};
cancel = () => {
console.log("cancel");
this.props.navigation.navigate("Home");
};
componentDidMount() {
this.props.navigation.setParams({ Cancel: this.cancel });
}
renderModalContent = () => (
<View style={styles.modalContent}>
<Text style={styles.modalContentTitle}>{this.state.modalTitle}</Text>
<Button
onPress={() => this.setState({ visibleModal: null })}
title="Close"
/>
</View>
);
renderModalContentToHome = () => (
<View style={styles.modalContent}>
<Text style={styles.modalContentTitle}>{this.state.modalTitle}</Text>
<Button onPress={this.closeModalThenHome} title="Close" />
</View>
);
Это будет затронуто, чтобы закрыть модальное окно, а затем перейдет к Home
closeModalThenHome = () => {
this.props.navigation.navigate("Home");
this.setState({ visibleModal: null });
};
render() {
let { fadeAnim } = this.state;
return (
<Modal
isVisible={this.state.visibleModal === "fancyThenGoHome"}
backdropColor="#B4B3DB"
backdropOpacity={0.8}
animationIn="zoomInDown"
animationOut="zoomOutUp"
animationInTiming={600}
animationOutTiming={600}
backdropTransitionInTiming={600}
backdropTransitionOutTiming={600}
onBackdropPress={this.closeModalThenHome}
>
{this.renderModalContentToHome()}
</Modal>
);
}
signIn = () => {
fetch("http://-IP-/signin", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
username: this.state.username,
email: this.state.email
})
})
.then(response => response.json())
.then(res => {
if (res.success === true) {
this.setState({ visibleModal: "fancyThenGoHome" });
this.setState({ modalTitle: res.message });
} else {
this.setState({ visibleModal: "fancy" });
this.setState({ modalTitle: res.message });
}
})
.catch(error => {
console.error(error);
});
}
Я пытался установить abortcontroller, но это тоже не сработало, надеюсь, кто-то может мне помочь.
Спасибо за ваше время