Я изучаю React Hooks, и мне нужно установить состояние самой первой страницы, которую посещает пользователь, и оно должно сохраняться.
Сейчас я делаю так:
const Routes = () => {
const [state, dispatch] = useContext(StoreContext);
useEffect(async () => {
const rates = await updateRates();
dispatch({ type: "UPDATE_RATE", payload: rates });
}, []);
return (
<BrowserRouter>
<Route path="/" component={favicon} />
<Route path="/" component={navbar} />
<Switch>
<Route exact path="/" component={Main} />
<Route path="/signin" component={SignIn} />
<Route path="/signup" component={SignUp} />
<PrivateRoute path="/app" component={() => <h1>App</h1>} />
<Route path="*" component={() => <h1>Page not found</h1>} />
</Switch>
</BrowserRouter>
);
};
Это в моем routes.js
файле.Однако это заставляет состояние обновлять каждую вторую страницу, которую посещает пользователь.Например, если пользователь посещает Main
, затем SignIn
, состояние обновляется при рендеринге Main
, а затем снова обновляется при рендеринге SignIn
.
Я попытался вставить в свой файл App.js
,однако это не сработало.
Заранее спасибо!