React 17 버전부터는 함수 컴포넌트에 대해 import React를 할 필요가 없다. 다만 class 컴포넌트에 대해서는class UploadButton extends React.Component 와 같은 경우를 위해 import React해야한다.
SVG Format
SVG는 코드로 이루어진 이미지 디자인 포멧이다. 디자인 포멧이지만 XML과 유사한 코드로 이뤄져있다. 그렇기 때문에 서버 통신에서 가장 큰 용량 중 하나를 차지하는 이미지 파일에 대한 사용을 줄이고 재사용이 가능해진다.
타입 검사
JS 타입 검사
1 2 3 4 5 6 7
// 데이터 타입 검사 유틸리티 함수 functionvalidType(dataType, typeString) { return ( Object.prototype.toString.call(dataType).slice(8, -1).toLowerCase() === typeString ); }
Object.prototype.toString.call(dataType) 를 사용하면 정확한 타입을 알 수 있다. (Array, function, null 등이 object로 출력되는 type of 보다 직관적이다.
// 타입 검사를 위한 객체 const PropTypes = { string(props, propName, componentName) { const value = props[propName]; const valueType = typeof value; const expectedType = "string";
if (valueType !== expectedType) { const errorMessage = `${componentName} 컴포넌트에 전달 된 ${propName}은 ${expectedType} 데이터 유형이 전달되어야 하나, 실제 전달된 속성 값 데이터 유형은 ${valueType}입니다. 확인해주세요.`;