我有一个带有 GraphQL 服务器的 React Native 项目。我正在使用 Apollo Client 从我的 API 获取数据。我创建了这个简单的组件,它从路由参数中获取注册所需的所有数据(形成逐步注册)并进行突变以创建新商店。
export default function AuthRegisterStore({ navigation, route }) {
const [
register,
{ loading: validating, error: validationError, data: returnData },
] = useMutation(REGISTER, { onError: (e) => Alert.alert(String(e)) });
const handleRegistration = () => {
register({
variables: {
username: route.params.username,
password: route.params.password,
latitude: route.params.latitude,
longitude: route.params.longitude,
},
});
};
handleRegistration()
if (validating) {
return <Loader />;
}
if (validationError) {
return (
<View style={styles.container}>
<Text>Error</Text>
</View>
);
}
if (returnData) {
navigation.navigate("Login", { message: "Te logueaste!" });
}
return null;
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center",
},
});
问题是函数handleRegistration()被一次又一次地调用,导致无限循环。我尝试过使用useEffect(),但由于某种原因它不会进行 API 调用。我错过了什么?
ibeautiful
相关分类