02. Multi Element
React.createElement('div',{ children : [ React.createElement("h1",null,'first'), React.createElement("h3",null,'second'), React.createElement("h5",null,'third') ] }) /// React.createElement( "div", null, React.createElement("h1", null, "first"), React.createElement("h3", null, "second"), React.createElement("h5", null, "third") ); /// jsx 처럼 <div> <h1>first </h1> <h3>second</h3> <h5>third</h5> </div>
위와 같은 방식으로 하나의 요소 안에 여러개의 children 을 만들 수 있다.
하지만 위와 같은 방법의 문제점은 쓸데 없는 div
를 감싼다는 문제가 있다.
그렇기 때문에 React에서는 Fragment라는 tag를 지원한다.
React.createElement(React.Fragment,{ children : [ React.createElement("h1",null,'first'), React.createElement("h3",null,'second'), React.createElement("h5",null,'third') ] }) /// React.createElement( React.Fragment, null, React.createElement("h1", null, "first"), React.createElement("h3", null, "second"), React.createElement("h5", null, "third") ); /// jsx <Fragment> <h1>first </h1> <h3>second</h3> <h5>third</h5> </Fragment>
Fragment를 사용하면, 쓸데없는 div 없이 자식들을 렌더링 할 수 있다.
jsx와 React.createElement를 통해, 하나의 컴포넌트 안에 다수의 자식을 만드는 법을 배웠다.
그리고, 그 자식들이 div로 감싸지는 것이 싫으면 React에서 제공해주는 Fragment 태그를 사용해서 감싸주면 된다.
'기술공부 > React' 카테고리의 다른 글
[React] 06. Component State Handle (0) | 2021.12.16 |
---|---|
[React] 05. event handler (0) | 2021.12.15 |
[React] 04. rerendring (0) | 2021.12.14 |
[React] 03.JSX (0) | 2021.12.10 |
[React] 01. React.CreateElement (0) | 2021.12.08 |