[React] props

๊ฒจ๋ ˆยท2024๋…„ 11์›” 13์ผ

[React] ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋””

๋ชฉ๋ก ๋ณด๊ธฐ
16/95
post-thumbnail

๐Ÿ“ props
properties๋ฅผ ์ค„์ธ ํ‘œํ˜„์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ์†์„ฑ์„ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ์ด๋‹ค. props ๊ฐ’์€ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

(+) (์˜ˆ์ œ์—์„œ๋Š” App ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์ž„!)


  • JSX ๋‚ด๋ถ€์—์„œ props ๋ Œ๋”๋งํ•ด๋ณด๊ธฐ


  • ๊ฒฐ๊ณผ




(+) ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•


๐Ÿ“ defaultProps
defaultProps๋Š” ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ props ๊ฐ’์„ ๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ณด์—ฌ์ค„ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.


  • ๊ฒฐ๊ณผ
    ํ˜„์žฌ name ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์•„์„œ ๋ธŒ๋ผ์šฐ์ €์—๋Š” โ€˜์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ ์ด๋ฆ„์€ ์ž…๋‹ˆ๋‹ค.โ€™๋ผ๊ณ  ๋ณด์ž„.
import PropTypes from 'prop-types';

const MyComponent = props => {
  return <div>์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ ์ด๋ฆ„์€ {props.name}์ž…๋‹ˆ๋‹ค.</div>;
};

MyComponent.defaultProps = {
    name: '๊ธฐ๋ณธ ์ด๋ฆ„'
 };

//  ESLint์™€ ๊ฐ™์€ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฒ€์‚ฌ ๋„๊ตฌ ๋น„ํ™œ์„ฑํ™”ํ•ด ์ฃผ๋ฉด ์ž‘์„ฑ ์•ˆํ•ด๋„ ๋จ.
MyComponent.propTypes = {
    name: PropTypes.string.isRequired,  
};
  
export default MyComponent;

์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ๋” ์ˆ˜์ • ํ›„ ์ €์žฅํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ™•์ธํ•˜๋ฉด...

profile
ํ˜ธ๋–ก ์‹ ๋ฌธ์ง€์—์„œ ๊ฐœ๋ฐœ์ž๋กœ ํ™˜์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€