Я вижу в журналах, что currentUser получает свое значение только после того, как перенаправляет меня в "/". Мне нужно, чтобы «currentUser» обновлялся до того, как его использовать при рендеринге маршрута.
PrivateRoute.js
const PrivateRoute = ({ component: Component, ...rest }) => {
const { currentUser } = useContext(AuthContext);
return (
<Route {...rest}
render={routeProps => !!currentUser ? (<Component {...routeProps} />) : (<Redirect to={'/'} />)
}
/>
);
};
export default PrivateRoute;
AuthContext.js
import app from "./firebaseConfig";
export const AuthContext = React.createContext();
export const AuthProvider = ({ children }) => {
const [currentUser, setCurrentUser] = useState(null);
useEffect(() => {
app.auth().onAuthStateChanged(setCurrentUser);
}, []);
return (
<AuthContext.Provider value={{ currentUser }}>
{children}
</AuthContext.Provider>
);
};