Приветствую, у меня есть страница продукта которая должна отрисовыватся от того является ли в контексте ключ product === null или нет, если равно то перекидывать на другую страницу, у меня в этой компоненте должны браться данные з контекста, проверятся не равен ли продукт нулю и используется два useState для состояния кнопок которые должны тоже брать состояние из контекста, думал может в route как-то можно сделать редирект?
Код:
App
<Routes>
<Route path="/" element={<Main />} />
<Route path="/product" element={<ProductPage />} />
<Route path="*" element={<ErrorPage />} />
</Routes>
ProductPage
export const ProductPage = () => {
const { product, contextFindItem, contextRemoveItem, contextPushItem } = useGlobalContext();
if (product === null) {
<Navigate to="/" />
}// если ставить тут, то ошибка что нельзя использовать перенаправление до загрузки useState, а если ставить после // этого то ошибка что в useState personalKey === null
const [like, setLike] = useState<boolean>(contextFindItem('likes', product!.personalKey) ? false : true);
const [buy, setBuy] = useState<boolean>(contextFindItem('basket', product!.personalKey) ? false : true);
return (
<>
<div className={s.productInfoMainAdd}>
<button className={s.productInfoMainAddBuy} onClick={() => clickSetIn('basket')}>{buy ? 'В корзине' : 'В корзину'}</button>
<button className={s.productInfoMainAddLike} onClick={() => clickSetIn('likes')}>{like ? 'Нравится' : 'Не нравится'}</button>
</div>
</>
)
}