컴포넌트

·2023년 3월 26일
0

react기초

목록 보기
7/11

컴포넌트

컴포넌트는 코드를 나눠서 각각의 코드를 따로따로 작성할 수 있도록 해준다. 컴포넌트를 이용하면 코드의 가독성이 좋아진다. 컴포넌트의 이름은 무조건 대문자로 시작해야 한다!!







현재 Register라는 폴더 안에 Register.js라는 컴포넌트가 있고 Register.js 안에는 회원 가입 페이지의 코드가 들어있다. 이 코드는 너무 길기 때문에 수정할 때 번거로움이 있어 컴포넌트로 코드를 나눌 것 이다.





네비게이션 바를 따로 나누기 위해 Navigationbar.js라는 이름으로 Register 폴더에 새 파일을 생성한다.



import React from 'react'
import { useNavigate } from 'react-router-dom';



function Navigationbar() {
  const goLogin = () => {
    navigate("/login");
  }
  
  const navigate = useNavigate();
  return (
        <div style={{backgroundColor: "rgb(33, 41, 71)", width: "100%", height: "5vh", display:"flex", justifyContent: "end"}}>
        <div style={{height: "5vh"}}>
         <button onClick={goLogin}
          style={{height: "100%", backgroundColor: "transparent"}}>
        로그인</button>
        <button style={{backgroundColor: "rgb(33, 35, 43)", height: "100%", color: "white"}}>
        회원가입</button>
        </div>
</div>
  )
}

export default Navigationbar

네이게이션 바의 코드를 Navigationbar.js에 그대로 옮겨준다.



<Navigationbar />

원래 네비게이션 바의 코드가 있던 자리에는 이렇게 써주고



import Navigationbar from './Navigationbar';

Navigationbar의 내용을 불러오기 위한 코드도 작성해주면 끝이다!




import React from 'react'
import Navigationbar from './Navigationbar';
import Registerform from './Registerform';

function Register() {

  return (
    <div style={{width: "100%", height: "100%", margin : "0px"}}>
          <Navigationbar />
          <Registerform />
    </div>
    )
  }

  export default Register;

회원가입 폼도 같은 방법으로 코드를 분리해준다. 코드가 완전 간단해졌다! Register.js는 Navigationbar.js와 Registerform.js의 부모 컴포넌트라고 한다.

0개의 댓글