Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 폼 입력 바인딩
- 프로그래머스 K_Digital Training
- 다른컴퓨터에서 git사용
- 리스트 렌더링
- KDT 프로그래머스 데브코스 프론트엔드
- Spacer
- Vue
- vue 이벤트 수신
- flex
- vuex map
- 프로그래머스 데브코스
- netlify redirect
- SCSS import
- postcss
- vue 지역 컴포넌트
- 이벤트 수식어
- intersection opserver
- 쌓임맥락
- vue mixin
- 리액트
- SCSS forward
- nextjs사용법
- react next
- 프로그래머스 데브코스 프론트엔드
- 프로그래머스 프론트엔드 데브코스
- 고양이 사진 검색기
- KDT 프로그래머스
- SCSS extend
- SCSS use
- git 같은계정 다른 컴퓨터
Archives
- Today
- Total
혼자 적어보는 노트
[React] input의 상태 관리 본문
React의 component에서 input을 다뤄보자.
<input />
input을 사용 할 때는 input에 적은 값을 데이터로 받아서
적용하는 방식을 사용 하는데
React에서는 useState를 활용하여 input에 입력한 값을 저장해서 받아 쓴다.
let [inputVal, setInputVal] = useState('');
일단 저장할 state를 만들어주고 기본 설정은 빈 값으로 설정을 해준다.
<input onChange={ (e) => setInputVal(e.target.value) }/>
이벤트 함수는 보통 이벤트 객체 e 를 파라미터로 받아서 사용 할 수 있는데
onChange의 e.target.value를 통해 input에 텍스트가 적혀질 때마다 inputVal 값을 변경해주게 만든다.
이 부분을 조금 응용해 보자.
버튼 클릭 시 input 내용을 기존 array에 추가하려면?
function App() {
let [title, setTitle] = useState(['Iron-man', 'Thor', 'Hulk']);
let [inputVal, setInputVal] = useState('');
function addTitle(){
let newArray = [...title];
newArray.unshift(inputVal);
setTitle(newArray)
}
return (
<div className="App">
{
title.map((title, index)=>{
return(
<h3 { title } </h3>
)
})
}
<input onChange={(e) => setInputVal(e.target.value)}/>
<button onClick={()=> addTitle() }>저장</button>
</div>
);
}
button의 onClick에 title array의 맨 앞에 input에 적은 데이터를 넣어주는 함수를 만들어 주면 된다.
'React' 카테고리의 다른 글
[React] useEffect hook (0) | 2021.11.12 |
---|---|
[React] useParams 활용 (0) | 2021.11.09 |
[React] 삼항연산자를 사용한 클릭 이벤트 (0) | 2021.11.03 |
[React] useState 사용 (0) | 2021.11.02 |
[React] react-route-dom - Link / Link to (0) | 2021.10.30 |
Comments