function Child(props) {
return (
<div>
<button
onClick={() => {
props.setName('박할아');
}}
>
할아버지 이름 바꾸기
</button>
<div>{props.grandFatherName}</div>
</div>
);
}
function Mother(props) {
return (
<Child grandFatherName={props.grandFatherName} setName={props.setName} />
);
}
function GrandFather() {
//const [value, setValue] = useState(초기값)
const [name, setName] = useState('김할아'); // state를 생성
return <Mother grandFatherName={name} setName={setName} />;
}
function App() {
return <GrandFather />;
}
이 코드는 버튼을 누르면 이름이 바뀌는 코드이다.
이 state로 변경된 값은 새로고침을 하면 초기값으로 돌아간다.
function App() {
const [name, setName] = useState('길동이');
function onClickHandler() {
setName('희동이')
}
return (
<div>{name}
<button onClick={onClickHandler}>버튼</button>
</div>
);
}
이런식으로, setName을 이용하여 버튼을 누르면 어떤 값을 바뀌게 할 수 있다.
function App() {
const [value, setValue] = useState('');
const onChangeHandler = (event) => {
const inputValue = event.target.value;
setValue(inputValue);
};
console.log(value)
return (
<div>
<input type='text' onChange={onChangeHandler} value={value} />
</div>
);
}
input이라 onchange함수를 사용하였고, input의 value에 접근하기 위해 event.target.value를 사용했다.