μλ²μ μ΄λ―Έμ§λ₯Ό μ μ₯νκ³ , κ·Έ μ΄λ―Έμ§μ λͺ
μ νμ
μ§μ μΌλ‘ νλ² νλ¨ν μμκ² κΈ°μ‘΄μ μ€μ μ ν΄ λμλ€. κ·Έλ¬λ, μΆνμ μ΄λ―Έμ§κ° μμ μ΄ λλμΌμ΄μμΌλ©΄ νμ
μ λ€μ μμ νκ³ λ°°ν¬ν΄μΌνλ λ²κ±°λ‘μμ΄ μμκ²μ΄λΌ νλ¨νμλ€.
κ·Έλμ μ¬μ©ν κ²μ΄, string μΌλ‘ νμ
μ μ§μ ν΄λμλ€.
μ΄λ κ² νλ€λ³΄λ, μ€μ μ°λ¦¬κ° λ§λ λμμΈμμ€ν μ μ¬μ©νλ μ¬μ©μκ° μλμμ±μ΄ μλμ΄μ μ€νλ₯Ό λ°μν μμλ€λ μκ°μ΄ λ€μλ€. κ·Έλμ or (|) μ μ¬μ©νμ¬, 'μ§μ ννμ | string' μ΄λ°μμΌλ‘ νμ μ μ§μ ν΄λμλ€.
export interface IIcon {
name: IconName | string;
name: string;
...
type IconName =
| 'notice'
| 'search'
| 'close'
...
κ·Έλ μ§λ§, stringμ΄ λμ± λμ λ²μλΌ μλμμ±μ μ°μ μμκ° string μΌλ‘ μ€μ λμ΄μ μλμμ±μ΄ λμ§μμλ€.
κ·Όλ³Έμ μΈ ν΄κ²°λ°©λ²μ λ μμμΌλ, κ·Έλλ νλμ λ°©λ²μ μ°Ύκ²λμλ€.
μ§μ λ νμ
μ κ°μΌλ‘ κ°μ§λ μΈν°νμ΄μ€μ, stringμ κ°μΌλ‘ κ°μ§λ μΈν°νμ΄μ€λ₯Ό μμ±νλ€.
interface IIconStrict {
name: IconName;
extension?: string;
height?: number;
width?: number;
}
interface IIconGeneral {
name: string;
extension?: string;
height?: number;
width?: number;
}
κ·Έν export νμ μ νλλ° κ·Έ νμ μ μλμ κ°μ΄ μ€μ νλ€.
export type IIcon = IIconStrict | IIconGeneral;
μ΄λ κ² μ€μ νκ³ , νλ² ν μ€νΈ ν΄λ³΄λ, μλμμ±μ΄ μ μ μ©λ λͺ¨μ΅μ νμΈν μ μμλ€.
μ΄λ, κΌ props μ κ°μ λ£μλλ μλμ κ°μ΄ ν΄μ€μΌνλ€.
<Fnd.IconStyles name={} />
μμ {} μμ '' μ λ£λμκ°, μλμμ±μ΄ μλλ κ²μ΄λ€.