[React] μ΅μ λ 체μ΄λ
리μ‘νΈλ₯Ό μ¬μ©ν΄ μ½λλ₯Ό μμ±νλ€λ³΄λ©΄ μλ²ν΅μ λ° μ»΄ν¬λνΈ λΌμ΄ν μ¬μ΄ν΄ μ°¨μ΄μ λ°λΌ null, undefinedλ₯Ό λ°νν΄ κ°λ μ€λ₯κ° λ°μνκ³€ νλ€.
μ΄λ κ·Έλλ μΉμ νκ² μ€λ₯ μ½λλ‘ μλ €μ£ΌκΈ°μ ν΄κ²°νκΈ΄ μ¬μΈ μ μμ§λ§,
μ‘΄μ¬ λλ μ‘΄μ¬νμ§ μλ μμμ λ©μλλ€μ λν΄ μμ νκ² μ κ·Όν μ μλλ‘ λμμ£Όλ μ΅μ λ 체μ΄λ μ°μ°μλ₯Ό ν΅ν΄ λ μ½κ² ν΄κ²°ν μ μλ€.
μλ μ½λμμ spanμμ textκ°μ΄ λͺμ΄ λμ¬μ§ μμν΄λ³΄μ.
import React from 'react'
const getNonEmptyCategories = (catrgories) => (
categories.filter((category) => category.items > 0);
)
// categories = [ {items: 5, id: 0}, {items: 4, id: 0} ]
// index = 1
const App = ({ categories, index }) => {
const filterCategory = getNonEmptyCategories(categories);
const filterCategoryValue = filterCategory[index].items;
return (
<span>{filterCategoryValue}</span>
)
}
export default App;
μ μ½λλ₯Ό 보면 λΉμ°ν 4κ° λμ¬ κ²μΌλ‘ μμν μ μλ€.
μ λ° λΉμ°ν κ²λ€μ΄ κ°λμ© μ»΄ν¬λνΈ λΌμ΄ν μ¬μ΄ν΄μ λ°λΌ filterCategory[index]κ° undefinedλ₯Ό λ°νν΄
itemsκ° μ μλμ§ μμλ€λ λ΄μ©μ 500μλ¬λ₯Ό λ°μμν¨λ€.
μ΄λ―Έ μλ²λ μ»΄ν¬λνΈμμ μ€λ λ΄μ©λ€μΈλ° λ¨μ§ μ¬μ΄ν΄ μ°¨μ΄λ‘ μ λ° νμμ΄ λ°μνλ€.
κ·Έλ΄ λ μ¬μ©μλ€μ΄ λ§μ΄ μ¬μ©νλ κ² μμΈμ²λ¦¬λ€.
μ΅μ λ 체μ΄λ μ μ μ¬μ©μλ€μ λ¨μΆνκ°, 3ν μ°μ°μ ν΅ν΄ μμΈμ²λ¦¬λ₯Ό λ§μ΄ νλ€.
import React from 'react'
const getNonEmptyCategories = (catrgories) => (
categories.filter((category) => category.items > 0);
)
// categories = [ {items: 5, id: 0}, {items: 4, id: 0} ]
// index = 1
const App = ({ categories, index }) => {
const filterCategory = getNonEmptyCategories(categories);
//
let filterCategoryValue = [];
filterCategory[index] &&
filterCategoryValue = filterCategory[index].items
// or
const filterCategoryValue = filterCategory[index].items || [];
// or
const filterCategoryValue = filterCategory[index] ? filterCategory[index].items : [];
return (
<span>{filterCategoryValue}</span>
)
}
export default App;
λΉμ°ν μ λ¬Έλ²λ ν¬κ² λ¬Έμ λ μμ§λ§ λ κ°νΈνκ² μΈ μ μκ² μλ°μ€ν¬λ¦½νΈμμ μ΅μ λ 체μ΄λμ κ°λ°ν΄μ€¬λ€.
μ΅μ λ 체μ΄λ
μμμ μ€λͺ νμ§λ§, μ‘΄μ¬ λλ μ‘΄μ¬νμ§ μλ μμμ λ©μλλ€μ λν΄ μμ νκ² μ κ·Όν μ μλλ‘ λμμ£Όλ μ΅μ λ 체μ΄λ μ°μ°μλ₯Ό ν΅ν΄ λ μ½κ² ν΄κ²°ν μ μλ€.
μ¬μ© λ°©λ²μ κ·Έλ₯ μμ ?λ₯Ό λΆμ¬μ£Όλ©΄ λλ€.
κ·Έλ¬λ©΄ κ°μ΄ λλ½λ κ²½μ°μ μ΅μ λ 체μ΄λμ λΆμ¬μ£Όλ©΄ νλ‘κ·Έλ¨μ μμ μ±μ λμ¬μ€ μ μλ€.
import React from 'react'
const getNonEmptyCategories = (catrgories) => (
categories.filter((category) => category.items > 0);
)
// categories = [ {items: 5, id: 0}, {items: 4, id: 0} ]
// index = 1
const App = ({ categories, index }) => {
const filterCategory = getNonEmptyCategories(categories);
const filterCategoryValue = filterCategory[index]?.items // μκΈ°
return (
<span>{filterCategoryValue}</span>
)
}
export default App;
μ΄λ¬λ©΄ ν΄κ²°μ΄ λλ€.
μ΅μ
λ 체μ΄λμ μ¬κΈ°κΉμ§ 보면 μ₯μ λ§ μλ κ² κ°μ§λ§ λ¨μ λ μ‘΄μ¬νλ€.
μΆνμ μ€λ₯λ₯Ό λ°κ²¬νκΈ° μ΄λ ΅κΈ°λ νκ³ , μλ¬ λλ²κΉ λ± μΆν μ μ§λ³΄μκ° μ’μ§ μμΌλ―λ‘ λ¨μ©νμ§ μλ κ²μ΄ μ€μνλ€.
μ°κΈ°λ³΄λ¨ μ½κΈ°(λ°°μ΄, ν¨μ, λ³μ λ±λ±)μμ μ£Όλ‘ μ¬μ©νλ€λ κ²λ μμλμ!