π€ μμ§log π€
[REACT] λ°λ³΅ ( Iteration ) λ³Έλ¬Έ
- λ°λ³΅μ μ μ¬μ©νλκ² reactμμ μ½λλ₯Ό μ€μΌμ μλ μ€μν λ°©λ²μ΄λ€.
- reactμμ λ°λ³΅μ μ¬μ©ν λλ λ°°μ΄μ μ΄μ©νλ€.
- map ν¨μλ λ°°μ΄μμ μ¬μ©νλ ν¨μμ΄κ³ μ¬μ©μ μλ‘μ΄ ν¨μκ° λ°νλλ€.
const number = [1,2,3,4,5]
const newNumbers = number.map(
(e) =>{
console.log(e)
}) // (e)κ° κ°κ° μμκ° λμ΄ 1 2 3 4 5 κ° λ°νλλ€.
---
const numbers = [1,2,3,4,5]
numbers.map( (number, i)=>{
console.log(i)
}) // 0 1 2 3 4
---
const numbers = [1,2,3,4,5]
const newNumbers = numbers.map((number, i) =>{
return number*number;
}); // [1, 4, 9, 16, 25]
π λ°°μ΄μ μμ ν΄μ μλ‘μ΄ λ°°μ΄μ λ§λλκ² mapν¨μ μ΄κ³ , κ·Έμμλ ν¨μκ° λ€μ΄κ°μ λ°°μ΄μ μμμλ μλ³Έ μμλ₯Ό μμ ν μ μλ€.
const IterationSample = () => {
const names = ['λμ¬λ', 'μΌμ', 'λ', 'λ°λ']
return (
<ul>
{names.map((name, i) => (
<li key={i}>μ΄λ¦: {name}</li>
))}
</ul>
)
}
export default IterationSample
- mapν¨μλ‘ μΆλ ₯ν λλ mapν¨μ κ°μ₯ λ°κΉ₯μͺ½μ keyκ°μ λ£μ΄μ€μΌν¨. keyκ°μ mapν¨μ μμμ νμ κ³ μ ν΄μΌν¨. keyκ°μ΄ κ³ μ ν κ°μ΄ μλ€λ©΄ i μ¬μ©.
- ν€κ°μ΄ νμν μ΄μ λ 리μ‘νΈκ° μ¬λλλ§μ ν λ λ³νλ λΆλΆλ§ λλλ§μ νλλ° ν€κ°μ λ³΄κ³ λλλ§μ ν¨. κ·Έλμ κ³ μ νμ§ μμ ν€κ°μ λ£μΌλ©΄ μλ¬λ°μ.
1. inputμ λ€μ΄κ° κ°μ κ΄λ¦¬ν useStateλ³μ μ μΈ
2. inputμ΄ λ°λλλ§λ€(onChange) setν¨μλ‘ e.target.valueλ₯Ό useState λ³μμ λ΄κΈ°
3. names λ°°μ΄μ inputμ λ΄κΈ΄ κ°μ μΆκ°
import { useState } from 'react'
const IterationSample = () => {
const [names, setNames] = useState(['λμ¬λ', 'μΌμ', 'λ', 'λ°λ'])
const [text, setText] = useState('')
const handleChange = (e) => {
setText(e.target.value)
}
const handleClick = () => {
if (!text) return
const newNames = [...names, text]
setNames(newNames)
setText('')
}
return (
<div>
<input value={text} onChange={handleChange} />
<button onClick={handleClick}>μΆκ°</button>
<ul>
{names.map((name, i) => (
<li key={i}>μ΄λ¦: {name}</li> // mapν¨μλ₯Ό μ¨μ μΆλ ₯
))}
</ul>
</div>
)
}
728x90
'π React' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[REACT] Swiper μ¬μ©νμ¬ ν°μΉμ¬λΌμ΄λ ꡬννκΈ° (1) | 2023.02.06 |
---|---|
[REACT] μ΄λ²€νΈ νΈλ€λ¬ ( Event handler ) (0) | 2022.10.07 |
[REACT] HOOK (0) | 2022.10.07 |
[REACT] SCSS (0) | 2022.10.06 |
[REACT] SPA μ async (0) | 2022.10.06 |