์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๊ตฌ๋ฆํค
- ์ค์ฝํ
- ๋ฐฑ์ค 1339๋ฒ js
- suspense ๋น๋๊ธฐ
- next13 emotion
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- suspense ๋ณ๋ชฉํ์
- js ์ค์ฝํ
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- app router emotion
- emtion app router
- ๋ฐฑ์ค 1339๋ฒ nodejs
- ์ฌ์ฉ์ฑ ๊ฐ์
- ์นด์นด์ค ์ฝํ
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- js
- js ๋ฌธ์์ด ์์ถ
- suspense ๋์์๋ฆฌ
- ๋ฐฑ์ค 2108 nodejs
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- suspense react-query
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- ์ต์ ๋์ฒด์ด๋
- emotion RSC
- Today
- Total
Lennon FE
[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;
์ด๋ฌ๋ฉด ํด๊ฒฐ์ด ๋๋ค.
์ต์
๋ ์ฒด์ด๋์ ์ฌ๊ธฐ๊น์ง ๋ณด๋ฉด ์ฅ์ ๋ง ์๋ ๊ฒ ๊ฐ์ง๋ง ๋จ์ ๋ ์กด์ฌํ๋ค.
์ถํ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๊ธฐ ์ด๋ ต๊ธฐ๋ ํ๊ณ , ์๋ฌ ๋๋ฒ๊น ๋ฑ ์ถํ ์ ์ง๋ณด์๊ฐ ์ข์ง ์์ผ๋ฏ๋ก ๋จ์ฉํ์ง ์๋ ๊ฒ์ด ์ค์ํ๋ค.
์ฐ๊ธฐ๋ณด๋จ ์ฝ๊ธฐ(๋ฐฐ์ด, ํจ์, ๋ณ์ ๋ฑ๋ฑ)์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ๋ ์์๋์!
'๐งโ๐ป Web > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Next.js 13] Emotion์ผ๋ก app router RSC๋ฅผ ๊ตฌ์ฑํด๋ณด์ (1) | 2023.07.17 |
---|---|
[React] Cypress๋ก e2e ํ ์คํธ๋ฅผ ๊ตฌํํด๋ณด์ (2) | 2023.05.14 |
[React] ๋น๋๊ธฐ useState ๋๊ธฐ๋ก ์ฒ๋ฆฌํ๊ธฐ (0) | 2022.06.30 |
[React] PostCSS์์ style๊ฐ์ root์ฒ๋ผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ (2) | 2022.05.21 |
[React] React Route์ ๋ํด ์์๋ณด์ (0) | 2022.05.19 |