728x90
예제
import { useState, useRef, useEffect } from 'react';
import './App.css';
import MyInput from './Myinput';
export default function App() {
//초기값 설정
const [firstName, setFirstName] = useState('테일러');
const [lastName, setLastName] = useState('스위프트');
const [toggleForm, setToggleForm] = useState(true);
function handleFirstName(e) {
setFirstName(e.target.value);
}
function handleLastName(e) {
setLastName(e.target.value);
}
return (
<div className="app">
<div className="btn_wrap">
<button
className="btn"
type="button"
onClick={() => setToggleForm(!toggleForm)}
>
form {toggleForm ? '숨기기' : '보이기'}
</button>
</div>
{toggleForm && (
<div className="input_area">
<div>
<label>이름을 입력하세요: </label>
<MyInput
value={firstName}
shouldFocus={true}
onChange={handleFirstName}
/>
</div>
<div>
<label>성을 입력하세요: </label>
<MyInput
value={lastName}
shouldFocus={false}
onChange={handleLastName}
/>
</div>
<p>
안녕하세요, {firstName} {lastName}님
</p>
</div>
)}
</div>
);
}
결과물1

=> 기본값 : 테일러 / 스위프트라고 써있음

=> 적는대로 밑에 내용이 바뀜
결과물2 - form숨기기/ 보이기


=> form을 누르면 숨겨지고 다시 누르면 보인다.
'Coding > React' 카테고리의 다른 글
| [React]useEffect 클린업함수 (0) | 2024.03.25 |
|---|---|
| 이벤트응답 - 이벤트핸들러 2 (0) | 2024.03.11 |
| 이벤트응답 - 이벤트핸들러 1 (0) | 2024.03.08 |
| 리스트렌더링, key속성 (0) | 2024.03.06 |
| 조건부렌더링 (2) | 2024.03.06 |