{product.name}
{product.description}
Описание
{product.description}
{product.full_name}
import { useEffect, useState } from "react"; import { useParams, useNavigate } from "react-router-dom"; import { ArrowLeftOutlined } from "@ant-design/icons"; import { useAppDispatch, useAppSelector } from "../../app/hooks"; import { fetchProductBySlug } from "../../features/catalog/productsSlice"; import styles from "./ItemPage.module.css"; import Button from "../../components/Button/Button"; import PriceLisForm from "../../components/PriceLisForm/PriceLisForm"; import ProductAttributes from "../../components/Table/ProducTable"; import Link from "antd/es/typography/Link"; import { setSelectedCategory } from "../../features/catalog/categoriesSlice"; const ItemPage = () => { const { slug } = useParams(); const dispatch = useAppDispatch(); const navigate = useNavigate(); const { loading } = useAppSelector((state) => state.products); const { items: cats, selectedCategoryId } = useAppSelector((s) => s.categories); const [activeTab, setActiveTab] = useState<"desc" | "chars">("desc"); const [open, setOpen] = useState(false); useEffect(() => { if (slug) dispatch(fetchProductBySlug(slug)); }, [dispatch, slug]); const product = useAppSelector((state) => state.products.selectedProduct); const category = cats.find((cat) => cat.id === Number(selectedCategoryId)); if (loading || !product) { return
{product.description}
{product.description}
{product.full_name}