Dr.Tart νλ‘μ νΈλ λ₯ν°μλ₯΄νΈ ννμ΄μ§λ₯Ό ν΄λ‘ μ½λ©νλ νλ‘μ νΈμ΄λ€.
λ€λ§ νμ₯νμ΄ μλ λμ νΈκ° λμ€λλ‘...
11μ 29μΌ μμμΌλΆν° νλ‘μ νΈκ° μμλμλ€.
μ°λ¦¬νμ λ₯ν°μλ₯΄νΈ ννμ΄μ§λ₯Ό ν΄λ‘ μ½λ©ν μμ μ΄μκ³ ,
κ·Έλ¦¬κ³ μ€λ 2μ£Όκ°μ 1μ°¨ νλ‘μ νΈμ€μμ λ²μ¨ 1μ£Όκ° μ§λλ²λ Έλ€.
λ₯ν°νλ₯΄νΈ νλ‘ νΈμλνμ ν΅μ¬μ μΈ ν€μλλ λ°λ‘ μ»΄ν¬λνΈ κΈ°λ°μ κ°λ°μ΄μλ€.
νλ‘ νΈμνΈν κ°μ νμ΄μ§λ₯Ό νλμ© λ§λ, μ»΄ν¬λνΈλ₯Ό νλμ κΈ°λ₯ λ¨μλ‘ μ‘μ μ μ§μ μΌλ‘ νμ΄μ§λ₯Ό μμ± ν μ μλλ‘ νμκ³ , λ°λ³΅λλ μ»΄ν¬λνΈμ μ¬μ¬μ©μ±μ λμΌλ €κ³ λ Έλ ₯νμλ€.
μΌμͺ½ μΈ‘λ©΄μ λΆμ΄μλ navμ ν΄λΉνλ μ»΄ν¬λνΈμ΄λ€.
μ ν νμ΄μ§μ ν΄λΉνλ νμ΄μ§μ΄λ€.
μ§μ ꡬνν μ΄λ―Έμ§ μ¬λΌμ΄λκ° λ€μ΄κ° μμΌλ©°, μ ν μ»΄ν¬λνΈκ° μ νλ§λ€ λ°λ³΅λλ κ²μ νμΈν μ μλ€.
react-router-dom
λ₯Ό μ΄μ©νμ¬ λμ λΌμ°ν
μ ꡬννμκ³ , useParams()
λ₯Ό μ΄μ©νμ¬ urlμ parameter
λ‘ λ°μμ κ·Έκ±Έ κΈ°λ°μΌλ‘ μ νκ΅°μ λΆλ₯ν μ μλλ‘ νμλ€.
μ ν νμ΄μ§μμ κ³μν΄μ μ¬μ¬μ©λλ Product.jsλ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μ§°λ€.
css μ λλ©μ΄μ λΆλΆμμ κ³μν΄μ λ°λ³΅λλ λΆλΆμ΄ μμ΄ λ¦¬ν©ν λ§μ΄ νμν λ― μΆλ€.
import React, { useState } from 'react';
import './Product.scss';
const Product = ({ productName, productPrice, productImage }) => {
const [isProductHover, setIsProductHover] = useState(false);
return (
<div
className="product"
onMouseOver={() => setIsProductHover(true)}
onMouseOut={() => setIsProductHover(false)}
>
<div className="productContainer">
<div className="productImageWrapper">
<img
className="productImage"
alt="example"
src="/images/tartexam.jpg"
/>
</div>
<div className="productName">{productName}</div>
<div className="productPrice">{Math.round(productPrice)}μ</div>
</div>
{isProductHover && (
<div
className={`productEffectContainer ${
isProductHover ? 'mountAnimation' : ''
}`}
>
<div className="effectContents">
<div className="productButtonContainer">
<button className="productBuyButton">ꡬ맀νκΈ°</button>
<button className="productCartButton">
<i className="fas fa-shopping-cart" />
</button>
<button className="productLikeButton">
<i className="far fa-heart" />
</button>
</div>
</div>
</div>
)}
</div>
);
};
export default Product;
μΌλ¨ μμ§ μμ±λμ§ λͺ»ν μ₯λ°κ΅¬λ, κ²°μ νμ΄μ§μ μμ±μ΄ νμνλ€.
λν μμ§ λ°±μλμμ μ ν©μ΄ μλ²½νμ§ μμ μνμ΄λ―λ‘ μ’ λ μμ±λλ₯Ό λμΌ νμκ° μμ κ² κ°λ€.