// IterationSample.js
const IterationSample = () => {
const weather = ['맑음', '흐림', '비', '눈'];
const weatherList = weather.map(w => <li>{w}</li>);
return <ul>{weatherList}</ul>;
};
export default IterationSample;
// IterationSample.js
import {useState} from 'react';
const IterationSample = () => {
const [names, setNames] = useState([
{ text: '맑음' },
{ text: '흐림' },
{ text: '비' },
{ text: '눈' }
])
const [inputText, setInputText] = useState('');
const onChange = e => setInputText(e.target.value);
const onClick = () => {
const nextNames = names.concat({
text: inputText
});
setNames(nextNames);
setInputText('');
};
const namesList = names.map(name => <li key={name.id}>{name.text}</li>);
return (
<>
<input value={inputText} onChange={onChange} />
<button onClick={onClick}>추가</button>
<ul>{namesList}</ul>
</>
);
};
export default IterationSample;
정답
1. map함수
2. O
3. 고윳값
4. 고윳값, index
5. 불변성 유지
6. O
7. filter
8.
// IterationSample.js
const IterationSample = () => {
const weather = ['맑음', '흐림', '비', '눈'];
const weatherList = weather.map((w, index) => <li key={index}>{w}</li>);
return <ul>{weatherList}</ul>;
};
export default IterationSample;
// IterationSample.js
import {useState} from 'react';
const IterationSample = () => {
const [names, setNames] = useState([
{ id: 1, text: '맑음' },
{ id: 2, text: '흐림' },
{ id: 3, text: '비' },
{ id: 4, text: '눈' }
])
const [inputText, setInputText] = useState('');
const onChange = e => setInputText(e.target.value);
const onClick = () => {
const nextNames = names.concat({
text: inputText
});
setNames(nextNames);
setInputText('');
};
const namesList = names.map(name => <li key={name.id}>{name.text}</li>);
return (
<>
<input value={inputText} onChange={onChange} />
<button onClick={onClick}>추가</button>
<ul>{namesList}</ul>
</>
);
};
export default IterationSample;