본문 바로가기

개발/웹 개발

31일차

 

Syn 페이지를 만들고나서 옆의 OSI 7 Layer페이지를 useState를 활용해서 원하는 계층을 클릭하면 펼쳐서 볼 수 있게 바꿔봤다.

https://github.com/LeeSeungHun-35/newfile

 

GitHub - LeeSeungHun-35/newfile: 리액트 실습

리액트 실습. Contribute to LeeSeungHun-35/newfile development by creating an account on GitHub.

github.com

 

 

useState

import React, { useState } from 'react';

const Counter = () => {
// count는 상태 변수고 setCount는 이 변수를 업데이트할 함수이다
    const [count, setCount] = useState(0);

    return (
        <div>
            <p>현재 카운트: {count}</p>
            <button onClick={() => setCount(count + 1)}>증가</button>
        </div>
    );
};
  • useState를 호출하여 상태 변수와 이를 업데이트할 함수(상태 세터)를 반환받는다.
  • 상태 초기화: useState의 인자로 상태의 초기 값을 설정합니다. 위의 예제에서는 0이 초기값이다.
  • 상태 업데이트: 상태를 업데이트하려면 상태 세터 함수를 호출합니다. 위의 예제에서는 setCount(count + 1)을 호출하여 count의 값을 1 증가시킨다.

 

Props

  • props는 컴포넌트 간에 데이터를 전달할 때 사용하는 속성이다.
  • 사용: 부모 컴포넌트가 자식 컴포넌트에 데이터를 넘길때 사용, 자식 컴포넌트는 props로 데이터를 받아서 사용한다
function ParentComponent() {
  return <ChildComponent message="Hello, World!" />;
}

function ChildComponent(props) {
  return <p>{props.message}</p>;
}

 

Redux

  • Redux는 애플리케이션의 상태를 전역적으로 관리할 수 있게 해주는 상태 관리 라이브러리이다.
  • 개념
    • Store: 애플리케이션의 상태를 저장하는 객체이다.
    • Action: 상태를 변경하기 위한 이벤트를 정의 이다 .
    • Reducer: 액션을 처리하여 상태를 변경하는 함수 이다 .
    • Dispatch: 액션을 발생시키는 메소드 이다 .
const increment = () => ({ type: 'INCREMENT' });

function counterReducer(state = 0, action) {
  switch (action.type) {
    case 'INCREMENT':
      return state + 1;
    default:
      return state;
  }
}
import { createStore } from 'redux';
const store = createStore(counterReducer);
import { useSelector, useDispatch } from 'react-redux';
function Counter() {
  const count = useSelector((state) => state);
  const dispatch = useDispatch();

  return (
    <div>
      <p>{count}</p>
      <button onClick={() => dispatch(increment())}>Increment</button>
    </div>
  );
}

 

 

+개인 프로젝트 하는거 이제 슬슬 생각해봐야할 것 같다

'개발 > 웹 개발' 카테고리의 다른 글

깃허브 컨벤션  (0) 2024.09.18
풀스택 32~34일차  (1) 2024.09.12
풀스택 30일차  (0) 2024.09.06
풀스택 28~29일차  (1) 2024.09.06
풀스택 27일차  (0) 2024.09.03