# #firebase #flutter #dart #flutter-dependencies #flutter-provider
Вопрос:
Привет, в настоящее время я разрабатываю мобильное приложение с помощью Flutter. В моей программе есть два типа пользователей, поэтому мне нужно настроить пользователя на основе типа данных. Таким образом, при проверке пользовательских данных была выдана ошибка noSuchMethod, указывающая, что получатель был вызван на нуль на красном экране в течение секунды, прежде чем продолжить. Но объект не является нулевым. Я не знаю, что еще делать. Кто-нибудь может мне помочь 🙁 Исключение 2s меня раздражает…
final profile = Provider.of<Profile>(context);
if (profile.type == null) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.white,
),
);
} else {
return MaterialApp(
home: profile.type ? SessionWrapperTutor() : SessionWrapperTutee(), //here the problem occur
);
в этом и заключается ошибка
════════ Exception caught by widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building HomeWrapper(dirty, dependencies: [InheritedProvider<Profile>], state: _HomeWrapperState#91be8):
The getter 'type' was called on null.
Receiver: null
Tried calling: type
The relevant error-causing widget was HomeWrapper
When the exception was thrown, this was the stack
#0 Object.noSuchMethod
#1 _HomeWrapperState.build
#2 StatefulElement.build
#3 ComponentElement.performRebuild
#4 StatefulElement.performRebuild
Комментарии:
1. Большое вам спасибо! Я не могу .пусто, потому что профиль является объектом. Но решение уже найдено. Спасибо за совет! 🙂
Ответ №1:
Как говорит вам исключение, вы вызываете type
значение null, то есть в какой-то момент profile
оно равно нулю, и вы пытаетесь вызвать type
его. Вам просто нужно проверить profile
, не является ли он нулевым, прежде чем пытаться его использовать
Комментарии:
1. братан, если она вызывает профиль на нуле, значит, она показывает индикатор прогресса
2. Нет, есть условие if:
if (profile.type == null)
ноprofile
в какой-то момент оно равно нулю, очевидно, поэтому очевидно, что это создает исключение3. Вы все еще не поняли, проблема не в
type
том , проблемаprofile
в том, что она равна нулю, вы не можете вызвать.type
то, что равно нулю, просто прочитайте сообщение об исключении..4. Боже, это сработало! Да! Да, мне нужно проверить, является ли профиль нулевым, и вернуть круговую вещь. Наконец красный экран исчез. Большое спасибо! :»»’)