๐Ÿ“

3. Fragment

ย 
์ง€๋‚œ ์ฑ•ํ„ฐ์—์„œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ return ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ jsx์—์„œ๋Š” ์ตœ์ƒ์œ„ ๋ถ€๋ชจ์š”์†Œ๋Š” ํ•œ ๊ฐœ์˜ ํƒœ๊ทธ๋งŒ ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— div ํƒœ๊ทธ๋กœ ๋‹ค๋ฅธ ํƒœ๊ทธ๋“ค์„ ๊ฐ์‹ธ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—˜๋ฆฌ๋จผํŠธ๋“ค์„ ๊ฐ์‹ธ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์˜๋ฏธ ์—†๋Š” div ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
function App() { return ( <div> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 1ํ˜ธ!</h1> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 2ํ˜ธ!</h1> </div> ); }
์˜๋ฏธ์—†๋Š” <div> ํƒœ๊ทธ๊ฐ€ ์‚ฌ์šฉ๋œ ์˜ˆ์‹œ
ย 
์ด๋ ‡๊ฒŒ ์˜๋ฏธ ์—†๋Š” ํƒœ๊ทธ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๋งจํ‹ฑํ•œ ๋งˆํฌ์—… ์ž‘์„ฑ์„ ๋ฐฉํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๋ชฉ๋ก(<ol><ul><dl>) ์ด๋‚˜ <Table> ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ด ๋ฌธ์ œ๊ฐ€ ์ข€ ๋” ๋‘๋“œ๋Ÿฌ์ง€๊ฒŒ ๋˜์ฃ .
import React, { Fragment } from 'react'; function ListItem({ item }) { return ( <div> <dt>{item.term}</dt> <dd>{item.description}</dd> </div> ); } function Glossary(props) { return ( <dl> {props.items.map(item => ( <ListItem item={item} key={item.id} /> ))} </dl> ); }
React ๊ณต์‹๋ฌธ์„œ
ย 

3-1. Fragments

Fragements ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด <div> ์™€ ๊ฐ™์€ ๋ณ„๋„์˜ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹์„ ๊ฐ์‹ธ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
render() { return ( <React.Fragment> <ChildA /> <ChildB /> <ChildC /> </React.Fragment> ); }
React ๊ณต์‹๋ฌธ์„œ
ย 
์šฐ์„  ์ฝ”๋“œ ์ƒ๋‹จ์— import๋ฅผ ํ†ตํ•ด ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์„ธ์š”.
import React, { Fragment } from 'react';
ย 
๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Fragment๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•ด ๋ด…์‹œ๋‹ค!
function App() { return ( <React.Fragment> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 1ํ˜ธ!</h1> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 2ํ˜ธ!</h1> </React.Fragment> ); }
ย 
Fragment ๋ผ๋Š” ํ‚ค์›Œ๋“œ ๋Œ€์‹  <> </> ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
function App() { return ( <> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 1ํ˜ธ!</h1> <h1>์•ˆ๋…•, ๋ผ์ด์บฃ 2ํ˜ธ!</h1> </> ); }
ย 

Fragement๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์™€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋ฅผ ๋น„๊ตํ•ด ๋ด…์‹œ๋‹ค.

function Table(){ return( <table> <tr> <Columns /> </tr> </table> ) }
React ๊ณต์‹ ๋ฌธ์„œ
ย 
  • Fragement๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ
function Columns(){ return( <div> <td>Hello</td> <td>World</td> </div> ) }
React ๊ณต์‹ ๋ฌธ์„œ
ย 
<Table /> ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ
<table> <tr> <div> <td>Hello</td> <td>World</td> </div> </tr> </table>
ย 
  • Fragment ์‚ฌ์šฉํ–ˆ์„ ๋•Œ
class Columns extends React.Component { render() { return ( <React.Fragment> <td>Hello</td> <td>World</td> </React.Fragment> ); } }
React ๊ณต์‹ ๋ฌธ์„œ
ย 
<Table /> ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ
<table> <tr> <td>Hello</td> <td>World</td> </tr> </table>
ย