React/React basics
[React] props의 defaultProps란?
zenghyun
2023. 4. 28. 16:47
props의 defaultProps에 대해 알아보겠습니다.
📌 App.js
1 2 3 4 5 6 7 8 9 10 11 12 | import MyComponent from './MyComponent'; import './App.css'; function App() { return ( <MyComponent name='Zenghyun' /> ); } export default App; | cs |
App 컴포넌트에서 MyComponent의 props 값을 Zenghyun으로 지정한 상태입니다.
📌 MyComponent.js
1 2 3 4 5 6 7 8 | import React from 'react'; const MyComponent = (props) => { return <div>안녕하세요. 제 이름은 {props.name}입니다.</div> }; export default MyComponent; | cs |
MyComponent 컴포넌트에서는 name이라는 props를 렌더링 하도록 설정되어 있습니다.
🧷 결과
여기서 만약, app.js에서 props의 값을 지정하지 않으면 어떻게 될까요?
1 2 3 4 5 6 7 8 9 10 11 12 | import MyComponent from './MyComponent'; import './App.css'; function App() { return ( <MyComponent /> ); } export default App; | cs |
위와 같이 이름란은 공백이 나오게 됩니다.
이를 방지하기 위해 부모 컴포넌트에서 props의 값을 지정하지 않아도 자식 컴포넌트의 props에서 default value를 설정할 수 있습니다.
[ .defaultProps ]
1 2 3 4 5 6 7 8 9 10 11 | import React from 'react'; const MyComponent = (props) => { return <div>안녕하세요. 제 이름은 {props.name}입니다.</div> }; MyComponent.defaultProps = { name: '기본 이름' }; export default MyComponent; | cs |