我有一個帶有 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 調用。我錯過了什么?
不能在 React Native 中只調用一次函數?
拉莫斯之舞
2022-11-03 09:54:43