ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • StateAirline Client part-1
    FE 2023. 5. 30. 17:30

    React 데이터 흐름

    • 페이지를 만들기 이전에 컴포넌트를 먼저 만들고 조립
    • 상향식(bottom-up)으로 앱 만들기 (테스트가 쉽고 확장성이 좋음)
    • 데이터는 위에서 아래로 흐름 (props를 이용해 전달인자 혹은 속성처럼 전달을 받음)
    • 하향식(top-down)는 데이터를 전달하는 주체가 부모 컴포넌트
    • React는 단방향 데이터 흐름(One-way data flow)

     

    State 끌어올리기

    • 두 개의 자식 컴포넌트가 하나의 상태에 접근하고자 할 때 공통부모 컴포넌트 상태에 위치
    • 상위 컴포넌트의 "상태를 변경하는 함수" 그 자체를 하위 컴포넌트로 전달하고, 이 함수를 하위 컴포넌트가 실행
    • 단방향 데이터 흐름의 원칙에 부합

     

    StatesAirline Client - Part 1

    export default function Main() {
    // 항공편 검색 조건을 담고 있는 상태
    const [condition, setCondition] = useState({
    departure: 'ICN',
    });
    const [flightList, setFlightList] = useState([]);


    // 주어진 검색 키워드에 따라 condition 상태를 변경시켜주는 함수
    const search = ({ departure, destination }) => {
    if (
    condition.departure !== departure ||
    condition.destination !== destination
    ) {
    console.log('condition 상태를 변경시킵니다');
    setCondition({departure, destination});

    // TODO: search 함수가 전달 받아온 '항공편 검색 조건' 인자를 condition 상태에 적절하게 담아보세요.
    }
    };

     

     

     

    import { useState } from 'react';

    function Search({onSearch}) {
    const [textDestination, setTextDestination] = useState('');

    const handleChange = (e) => {
    setTextDestination(e.target.value.toUpperCase());
    };

    const handleKeyDown = (e) => {
    if (e.type === 'keydown' && e.code === 'Enter') {
    handleSearchClick();
    }
    };

    const handleSearchClick = () => {
    console.log('검색 버튼을 누르거나, 엔터를 치면 search 함수가 실행됩니다');

    onSearch({departure : "ICN", destination : textDestination})
    // TODO: 지시에 따라 상위 컴포넌트에서 props를 받아서 실행시켜 보세요.
    };

    'FE' 카테고리의 다른 글

    CORS  (0) 2023.06.01
    StateAirline Client part-2  (0) 2023.05.31
    Postman  (0) 2023.05.26
    [HTTP/네트워크] 실습  (0) 2023.05.25
    [HTTP/네트워크]기초  (0) 2023.05.24
Designed by Tistory.