#android #reactjs #react-native
Вопрос:
Я заметил, что мое приложение react native (версия выпуска) показывает пустой белый экран на Android 5.0 amp; 6.0..it хорошо работает на моем 8.0. Раньше он также работал на 5.0, но с тех пор, как я в последний раз тестировал приложение на 5.0, я внес в него много изменений, и теперь оно работает не так, как раньше.
Описание
Приложение открывается нормально, на нем отображается экран входа в систему. но когда я нажимаю «Войти», он показывает пустой белый экран. Однако, если я нажму «забыл пароль или создал учетную запись», страница изменится так, как должна. Похоже , проблема возникает только тогда, когда я вызываю функцию, которая имеет fetch
, в коде нет ничего плохого, поскольку он работает на Android 8.0. Это не происходит, когда в функции нет функции fetch
это моя функция входа в систему
UserLoginFunction = async () =gt;{ const { UserEmail } = this.state ; const { UserPassword } = this.state ; const { isLoginActive } = this.state; this.setState({ isLoginActive: true, }) // Keyboard.dismiss(); fetch('xxxx', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify({ email: UserEmail.trim(), password: UserPassword.trim() }) }).then((response) =gt; response.json()) .then((responseJson) =gt; { // If server response message same as Data Matched if(responseJson === 'Data Matched') { this.setState({ isLoginActive: false, }) //Then open Profile activity and send user email to profile activity. try { AsyncStorage.setItem( 'User', UserEmail ); this.props.navigation.replace('Second', { user: UserEmail }); } catch (error) { } } else{ this.setState({ isLoginActive: false, }) //Alert.alert(responseJson); this.toast.show(responseJson,2000); } }).catch((error) =gt; { this.setState({ isLoginActive: false, }) this.toast.show(error,2000); console.error(error); }); }
Комментарии:
1. Я в основном предполагаю, что это происходит, когда какая-то родная часть выходит из строя, в данном случае я в основном подозреваю
this.toast.show
call.