๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
WEB/Front-End๐ŸŒ

[React] ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ ๋ถ„๋ฆฌ

by narang111 2021. 10. 1.

์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋˜ ์ด ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ถ„๋ฆฌํ•ด์ค„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  App.js์— ํŒŒ์ผ์— ์žˆ์–ด์„œ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ์ด ํŒŒ์ผ ์•ˆ์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๊ธฐ ์–ด๋ ต๋‹ค.

 

๊ฐ๊ฐ ์ปดํฌ๋„ŒํŠธ ๋ณ„๋กœ ํŒŒ์ผ๋กœ ์ชผ๊ฐœ ๋ณผ ๊ฒƒ์ด๋‹ค.

 

์šฐ์„  src ๋””๋ ‰ํ„ฐ๋ฆฌ์— components ๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ด๋‹ค.

์ด ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ ๋ณ„๋กœ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ค„ ๊ฒƒ์ด๋‹ค.

 

create-react-app์ด ๊ธฐ๋ณธ์ ์œผ๋กœ index.js๋ฅผ ๋ณด๋ฉด

App์ด๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” App.js๋ผ๋Š” ํŒŒ์ผ์—์„œ importํ•ด์„œ ์“ฐ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

components ๋””๋ ‰ํ„ฐ๋ฆฌ์— TOC.js ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  TOC ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณต๋ถ™ํ–ˆ๋‹ค

(์—ฌ๊ธฐ์„œ ๊ฐ ์—๋””ํ„ฐ์— ๋”ฐ๋ผ์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์„ ๋กœ๋”ฉํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์—†๋‹ค๊ณ  ํ•˜๋ฉด์„œ ๋นจ๊ฐ„์ค„์ด ๋œฐ ์ˆ˜ ๋„ ์žˆ๋‹ค.)

 

๊ทธ ๋‹ค์Œ์— TOC๋ผ๋Š” ํŒŒ์ผ ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ณ€์ˆ˜, ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ์ค‘์—์„œ ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด export ์ด๋‹ค. ์ฆ‰, TOC๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์™ธ๋ถ€์—์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ด์ฃผ์—ˆ์œผ๋‹ˆ App.js ํŒŒ์ผ์—์„œ๋Š” TOC ํด๋ž˜์Šค๋ฅผ ์ง€์›Œ์ฃผ๊ณ  

TOC ํŒŒ์ผ์„ import ํ•ด์ค€๋‹ค.

import TOC from "./components/TOC"

 

๋‚˜๋จธ์ง€ ์ปดํฌ๋„ŒํŠธ๋„ ๋ถ„๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

 

๐Ÿ”ฝ App.js

import './App.css';
import React, { Component } from 'react';
import TOC from "./components/TOC"
import Content from "./components/Content"
import Subject from "./components/Subject"



// ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ (ํ…œํ”Œ๋ฆฟ)
// ๋ฆฌ์•กํŠธ์˜ Component๋ผ๊ณ  ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋Š”
// App ์ด๋ผ๋Š” ํด๋ž˜์Šค - render()๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
class App extends Component {
  render(){
    return (
      <div className="App">
        <Subject title="WEB" sub="world wide web!"></Subject>
        <Subject title="React" sub="for UI"></Subject>
        <TOC></TOC>
        <Content title="HTML" desc="HTML is HyperText Markup Language."></Content>
      </div>
    );
  }
  
}

export default App;