Studyyyyy
하위 컴포넌트에서 상위 컴포넌트로 state보내기 본문
출처 https://velog.io/@bellecode20/하위-컴포넌트에서-상위-컴포넌트로-state-전송하기
하위 컴포넌트에서 상위 컴포넌트로 state 전송하기
내가 학생을 추가하면, 캘린더 화면에서도 해당 날짜에 학생을 볼 수 있어야 한다. 1\. 유저가 정보를 입력한다.2\. 저장 버튼을 누른다.3\. 학생을 추가한다. \- 상위 컴포넌트로 전송한다.4\. 캘린
velog.io
- 부모 컴포넌트에서 useState 만들기
const [todos, setTodos] = React.useState(["item 1", "item 2", "item 3"]);
- setTodo를 자식 컴포넌트에게 props로 전송한다.
(1) 컴포넌트 렌더링 하는 부분(부모컴포넌트에서)에 props전송
return (
<>
<TodoCount todos={todos}></TodoCount>
<TodoList todos={todos}></TodoList>
<AddTodo setTodos={setTodos}></AddTodo>
</>
);
(2) 렌더링하고싶은 부분에 {데이터}쓰기
function TodoCount({ todos }) {
return <div>Total Todos:{todos.length}</div>;
}
(3) state바꾸는 컴포넌트는 set어쩌구로
return(
...
<AddTodo setTodos={setTodos}></AddTodo>
...
function AddTodo({ setTodos }) {
function handleSubmit(event) {
event.preventDefault();
const todo = event.target.elements.todo.value;
setTodos((prevTodos) => [...prevTodos, todo]);
}
return (
<form onSubmit={handleSubmit}>
<input type="text" id="todo"></input>
<button type="submit">Add Todo</button>
</form>
);
}
'React' 카테고리의 다른 글
리액트에서 자동완성 적용하기(VScode) (0) | 2024.08.19 |
---|---|
리액트 특징 (0) | 2024.08.19 |
[React] Router v6: useNavigate() 파라미터 전달&취득 방법 - useLocation()출처: https://curryyou.tistory.com/477 [카레유:티스토리] (0) | 2022.09.08 |
리액트 체크박스 개별, 전체선택/해제 구현 (0) | 2022.07.14 |
jsx 파일에서 ESLint 각종 오류 해결 방법 (0) | 2022.07.05 |