#flutter #authentication #flutter-navigation
Вопрос:
Моему приложению необходимо, чтобы пользователь вошел в систему для доступа к главному экрану. В прошлом я реализовал это, имея Wrapper
родительский виджет, который возвращал Login
бы или Home
виджеты, основанные на статусе аутентификации.
Теперь, с Навигатором 2.0, я начал использовать именованные маршруты, и поэтому у меня есть отдельный /login
маршрут, который возвращает мой Login
виджет. Я хочу, чтобы с /
помощью маршрута приложение проверяло текущий статус аутентификации (я знаю, как справиться с этой частью) и, если пользователь не вошел в систему, изменило маршрут на /login
Как я могу это реализовать?
(Я использовал velocityX для обработки Navigator 2.0, поэтому возврат MyApp в файле main.dart должен быть примерно таким:
bool authenticated = // variable storing if the user is logged in return MaterialApp.router( routeInformationParser: VxInformationParser(), routerDelegate: VxNavigator(routes: { ‘/‘: (uri, params) =gt; authenticated ? Home() : lt;CHANGE ROUTE SOMEHOWgt;, ‘/login’: (uni, params) =gt; Login()