TIL

[TIL] 20210708

lado 2021. 7. 8. 23:44

๐ŸŽฏ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๊ฒƒ

  • [React] JSX ๋ฌธ๋ฒ•
  • [React] ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ vs ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ
  • [React] props ๊ฐœ๋…
    • props์˜ ๊ฐ’์„ ์–ด๋””์„œ ์ •ํ•ด์ฃผ๋Š” ๊ฑด์ง€ ์ด๋Ÿฐ๊ฒŒ ์ข€ ํ—ท๊ฐˆ๋ ค์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์ธ App.js๋ฅผ ์ง„์งœ ๋ถ€๋ชจ๋กœ, ์ž์‹ ์ปดํฌ๋„ŒํŠธ์ธ Children.js์„ ์ง„์งœ ์ž์‹์œผ๋กœ ๊ฐ€์ •ํ•˜๋Š” ๋น„์œ ๋ฅผ ์ƒ๊ฐํ•ด๋ดค๋‹ค.

 

./App.js

import React, { Component } from 'react';
import Children from './components/Children';

class App extends Component {
    render() {
      return (
         <div className="App">
            {/* ๋ถ€๋ชจ๊ฐ€ ์ž๋…€์—๊ฒŒ ์žฅ๋ž˜ํฌ๋ง์€ ์„ ์ƒ๋‹˜์œผ๋กœ, 
            ๋ฏธ๋ž˜ ์žฌํ…Œํฌ๋Š” ๋ถ€๋™์‚ฐ์œผ๋กœ ํ•˜๋ผ๊ณ  ์ฃผ์ž…ํ–ˆ๋‹ค */}
            <Children futureJob="teacher" investment="real_estate"></Children>
         </div>
      )
    }
}

export default App;

./components/Children.js

import React, { Component } from 'react';

class Children extends Component {
    render() {
        return (
            <article>
            	{/* ์ž์‹์ด ๋ฏธ๋ž˜์— ์–ด๋–ค ์ง์—…์„ ๊ฐ€์งˆ์ง€, 
                ์–ด๋–ค ์žฌํ…Œํฌ๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ธ์ง€ 
                ๊ทธ ๊ฐ’์„ ๋‹ด์„ ๊ทธ๋ฆ‡(key)์€ ์ž์‹์—๊ฒŒ ์žˆ๋‹ค */}
                <p>์žฅ๋ž˜ํฌ๋ง : {this.props.futureJob}</p>
                <p>์žฌํ…Œํฌ ๋ฐฉ๋ฒ• : {this.props.investment}</p>
            </article>
        )
    }
}

// ๋ถ€๋ชจ๊ฐ€ ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด 
// ์ž์‹์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„ํ‹ฐ์ŠคํŠธ๊ฐ€ ๋  ๊ธฐ์งˆ์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๋‹ค
Children.defaultProps = {
	futureJob: "artist"
}

export default Children;
  • ์ด๊ฒŒ ๋ญ” ๋ง์ธ๊ฐ€ ์‹ถ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์•ˆ ํ—ท๊ฐˆ๋ฆฌ๋ ค๊ณ  ์ƒ๊ฐํ•ด๋ณธ ๋น„์œ ๋‹ค.
  • ๊ฒฐ๋ก ์ ์œผ๋กœ, ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์˜ props๋กœ ๊ฐ’์„ ์ฃผ์ž…ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

๐Ÿ“š ๋ณด์ถฉํ•ด์•ผ ํ•  ๊ฒƒ

  • [React] props, state ๊ฐœ๋… ์ •๋ฆฌ

๐ŸŽ‡ Reflection

  • ๋ฆฌ์•กํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ต์žฌ๋Š” ์ƒํ™œ์ฝ”๋”ฉ ์ฑ…์ธ๋ฐ, ์‰ฌ์šด ์–ธ์–ด๋กœ ์“ฐ์—ฌ์ ธ ๊ธˆ๋ฐฉ ์ฝ์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ํ˜ธ๊ธฐ๋กญ๊ฒŒ ์˜ค๋Š˜ ์•ˆ์— ๋‹ค ์ฝ๊ฒ ๋‹ค๊ณ  ๊ณ„ํš์„ ์„ธ์› ๋Š”๋ฐ ๊ทธ๊ฑด ์—ญ์‹œ ์•ˆ๋๋‹ค.
  • ๋ธ”๋กœ๊ทธ์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ๋•Œ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ•˜์ž! ํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ๋น„์œ ๋ฅผ ๋“ค์–ด ์ •๋ฆฌํ•ด๋ดค๋Š”๋ฐ ๋‚˜ ์ž์‹ ์ด ๋„ˆ๋ฌด ๋ฌธ๊ณผ ์ธ๊ฐ„์ธ๊ฐ€? ํ•˜๋Š” ์•ฝ๊ฐ„์˜ ์ž๊ดด๊ฐ์ด ๋“ ๋‹ค... ใ…Ž ์ด๋Ÿฐ ๊ฑฐ ๋ง๊ณ  ์ ค ์ข‹์€ ๊ฑฐ๋Š” ํ˜ผ์ž ํ”„๋กœ์ ํŠธํ•˜๊ณ  ์‚ฝ์งˆํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝํ—˜์„ ๊ธ€๋กœ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ผํ…๋ฐ... ์ฃผ๋ง์—๋Š” ๊ผญ ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„ํ•˜์ž ใ… 
  • ๋‚ด์ผ๋ถ€ํ„ฐ ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์—ด์‹ฌํžˆ ํ•˜์ž. 

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 20210710  (2) 2021.07.11
[TIL] 20210709  (0) 2021.07.10
[TIL] 20210707  (0) 2021.07.08
[TIL] 20210706  (2) 2021.07.07
[TIL] 20210705  (0) 2021.07.06