본문 바로가기

React

[React] component/ element

element 에 <h1>태그를 직접 할당한 다음 코드를 실행하면,

import ReactDOM from 'react-dom/client';

const root = ReactDOM.createRoot(document.getElementById('root'));

const element = <h1>안녕 리액트!</h1>

root.render(element);

아무런 오류 없이 잘 동작하는 것을 확인할 수 있음.

 


[컴포넌트 및 앨리먼트]

 

다음과 같이 Hello 함수를 element 안에 함수 'Hello' 이름을 가진 태그를 사용할 수 있음.

여기서 Hello 함수를 react component 라고 함.

import ReactDOM from 'react-dom/client';

const root = ReactDOM.createRoot(document.getElementById('root'));

function Hello() {
  return <h1>안녕 리액트</h1>;
}

const element = (
  <>
    <Hello />
    <Hello />
    <Hello />
  </>
)

console.log(element);
root.render(element);

<h1>안녕 리액트</h1>; 는 Hello 함수가 리턴하는 react element 를 의미한다.

 

함수를 만든다고 모두 다 react component 가 되는 것은 아니며, 함수이름의 첫글자를 꼭 대문자로 작성해 주어야 한다.

또한 JSX 문법으로 만들어진 react element를 return 해 주어야 한다.


[컴포넌트 및 앨리먼트 생성]

 

App.js 파일을 추가하여 다음과 같이 App 컴포넌트를 생성하고, <div> 태그 앨리먼트를 생성.

default 로 export 하여 다른 곳에서도 사용할 수 있게 함.

function App() {
    return <div>App 컴포넌트!</div>;
}

export default App;

이 함수를 import 하여 실행 시켜보면,

잘 출력 되는것을 확인할 수 있음.

 


[이미지 컴포넌트 생성]

 

Dice.js 파일 생성하여 다음과 같이 작성

import diceBlue01 from './assets/dice-blue-1.svg';

function Dice() {
    return <img src={diceBlue01} alt="주사위" />;
}

export default Dice;

이미지 태그를 사용하려면 해당 경로 파일을 import 한 후, 파일 이름을 src 에 넣어주어야 함.

 

import Dice from './Dice';

function App() {
    return (
    <div>
        <Dice />
    </div>
    );
}

export default App;

import 한 이후, 위처럼 컴포넌트를 작성해주면

 

이처럼 주사위 이미지가 출력 됨.

 

import diceBlue01 from './assets/dice-blue-1.svg';

function Dice() {
    return <img src={"./assets/dice-blue-1.svg"} alt="주사위" />;
}

export default Dice;

이처럼 파일 경로를 바로 src 에 삽입하는경우,

 

이미지가 출력되지 않으니 주의해야함.

'React' 카테고리의 다른 글

[React] children  (0) 2023.03.17
[React] Props  (0) 2023.03.17
[React] 가위바위보(간단버전 2)  (0) 2023.03.16
[React] JSX 에서 JavaScript 사용하기  (0) 2023.03.16
[React] Fragment 태그  (0) 2023.03.16