Как избежать мигания при переключении между 2 компонентами ? При использовании firebase auth

#reactjs

Вопрос:

Пробовал ,что мог, но потерпел неудачу, пробовал с помощью useState и все, но нет.

Я использую авторизацию firebase ,если пользователь вошел в систему ,я показываю компонент главной страницы ,если нет ,я показываю страницу входа, но иногда она просто мигает на странице входа и переходит на главную страницу странным/плохим способом, есть предложения по исправлению этого?

РЕДАКТИРОВАТЬ : Я пытался без эффекта использования, но все равно то же самое

 function App() {
    const [mycurrentUser,SetCurrentUser] = useState(null)

    useEffect(() => {
        onAuthStateChanged(auth,  (user) => {
            if (user) {
                SetCurrentUser(user)
            } else {
                SetCurrentUser(null)
            }

        });

    }, [auth.currentUser])

    return (
        <section>
            { mycurrentUser
                ? <FeedPage/>
                : <AuthPage/>}
        </section>

    );
} 

Ответ №1:

Одна вещь , которую я заметил, заключается в том, что вам не нужно продолжать звонить onAuthStateChange , достаточно одного раза на горе.

     useEffect(() => {
        onAuthStateChanged(auth,  (user) => {
            if (user) {
                SetCurrentUser(user)
            } else {
                SetCurrentUser(null)
            }
        });
    }, [])
 

Кроме того, как Auth страница узнает текущего пользователя ? Либо вы должны передать его через реквизит, либо в контексте.

Комментарии:

1. Тем не менее ,он все равно будет мигать , когда я обновляю страницу ,пользователь быстро меняет значение с нуля на объект, вызывая вспышку между визуализациями, странице аутентификации не нужно знать пользователя, который она просто используется для создания учетной записи или входа в систему, я не знаю, что делать.