Я хочу пропустить страницу входа в систему, если в локальном хранилище есть токен, но я не хочу переместить логику на App
, потому что я хочу, чтобы LoginPage
оставался моей базовой страницей. В настоящее время у меня есть этот код, и он работает.Где я должен вводить навигационный код?
public LoginPage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
var localStorage = new LocalStorage();
if (!string.IsNullOrEmpty(localStorage.Get("key")))
{
Navigation.PushAsync(new MainTabbedPage(true));
}
base.OnAppearing();
// some unrelated code...
}
Проблема с ним в том, что иногда (довольно часто), страница Войти видна на долю секунды, пока он не переходит к MainTabbedPage
. Могу ли я ввести код навигации от OnAppearing
к конструктору страницы? Если да, я должен положить его до или после InitializeComponent();
? Обратите внимание, что некоторое время в приложении я мог бы позвонить PopToRootAsync()
, чтобы вернуться на страницу входа в систему, которая на этот раз я могу отобразить.
Кроме того, скажите, пожалуйста, что-то не так с этим подходом.
Заранее спасибо.
Если бы мой ответ был прав и помог вам решить проблему, пожалуйста, отметьте его как правильную. –