Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- node.js
- pyenv
- 釜つる
- Python
- 미츠이 스미토모
- 체코
- 메르페이
- 태국
- PayPay
- vba
- typescript
- PostgreSQL
- 페이페이
- 아타미
- JenkinsFile
- 三井住友カード
- CSV
- 카마츠루
- Selenium
- 뮌헨
- react.js
- 熱海
- local
- 프라하
- 방콕
- duckdb
- codebuild
- javascript
- documentdb
- terraform
Archives
- Today
- Total
도쿄사는 외노자
React.js에서의 propTypes 복수 지정 본문
그간 react에서 component를 만들면서,
1 2 3 4 5 | MUIDataTables.propTypes = { data: PropTypes.object, cellClick: PropTypes.func, ... }; | cs |
이와 같이 propTypes를 지정해 왔다.
보통 이걸로 별 문제가 없었기에 다 이런 식으로 지정을 해 왔는데...
어제 한 작업에서 developer tool에 warning이 뜨더라.
react의 render에서 return시 div로 감싸면 별로 멋이 안나니까
이런 식으로 Wrapper를 만들었는데...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import React, { Component } from 'react'; class Wrapper extends Component { componentDidMount() { } render() { return ( <div> {this.props.children} </div> ); } } Wrapper.propTypes = { children: React.PropTypes.element }; export default Wrapper; | cs |
이 children의 type이 문제가 되더라.
페이지에 따라서 material-ui의 card등으로 한번 래핑을 해서 리턴을 하는 경우도 있고,
본래의 목적대로 여러개의 div등을 wrapper로 감싸서 array형태의 children을 보내는 경우도 있기에...
element로 하건 array로 하건 warning이 뜨는 것이다.
그래서 알아보니, oneOfType이라는 것이 있더라.
타입을 여러개 지정해두고, 그중 하나 걸리면 OK라는 식이다.
그래서 이렇게 하니 깔끔하게 해결되었다.
1 2 3 4 5 6 | Wrapper.propTypes = { children: React.PropTypes.oneOfType([ React.PropTypes.array, React.PropTypes.element, ]) }; | cs |
'Tech > React.js' 카테고리의 다른 글
현재 page의 path를 읽어, 해당 링크에 하이라이트 부여하기 (0) | 2017.01.25 |
---|---|
라벨의 Byte Length에 따른 요소 길이 조정 (0) | 2017.01.23 |
CSV Download Button (0) | 2016.12.19 |
React.js에서의 modal의 cache삭제 (0) | 2016.11.04 |
React.js에서의 PDF파일의 DB저장과 열람 (0) | 2016.10.27 |