React: ReactElements์—์„œ ์›๋ณธ HTMLElement๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2015๋…„ 05์›” 18์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/react

์•ˆ๋…•ํ•˜์„ธ์š”, ReactElement์—์„œ ์›๋ณธ HTMLElement๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ReactComponent์˜ getDOMNode()์ฒ˜๋Ÿผ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ReactElement๋Š” React.render ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DOM์— ๋งˆ์šดํŠธํ•  ๋•Œ๊นŒ์ง€ DOM ๋…ธ๋“œ์— ํ•ด๋‹นํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

var element = <ScrollView><Text>hello</Text></ScrollView>;
var component = React.render(element, container);
var node = React.findDOMNode(component);

๋ชจ๋“  3 ๋Œ“๊ธ€

์š”์†Œ๋Š” HTML ์š”์†Œ์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†๋Š” ๊ฒฝ๋Ÿ‰ ๊ฐœ์ฒด์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ๋ฌป๋Š” ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€ ๋˜๋Š” ์™œ ๊ทธ๊ฒƒ์„ ํ•„์š”๋กœํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ "div"๋ฅผ ์–ป์œผ๋ ค๋Š” ๊ฒฝ์šฐ

.type์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
var el = <div />;
console.log(el.type); // "div"

์ด์™€ ๊ฐ™์ด <ScrollView><Text>hello</Text></ScrollView> , "ScrollView.children"์€ [ReactElement]๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ReactElement๋กœ ์‹ค์ œ HTMLElementNode๋ฅผ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. <Text> ๋…ธ๋“œ์˜ getComputedStyle์„ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ReactElement๋Š” React.render ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DOM์— ๋งˆ์šดํŠธํ•  ๋•Œ๊นŒ์ง€ DOM ๋…ธ๋“œ์— ํ•ด๋‹นํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

var element = <ScrollView><Text>hello</Text></ScrollView>;
var component = React.render(element, container);
var node = React.findDOMNode(component);
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰