import ..from && export (default) -> ES6+ 환경 (babel 설정시 가능)
require() && module.exports -> npm(ES5) 환경 (Common.js 문법)
export const Try = ...
// 사용 가능(단, 부분 모듈로 인식) 그래서 import {Try} 로 해줘야함
export default const Try = ...
// 불가능
에러 메시지
SyntaxError: Only expressions, functions or classes are allowed as the 'default' export.
디버깅
표현식을 선언식으로 바꾸기 (const Try = () -> function Try())
클래스형
export default class Try extends Component {
state = {
result: this.props.tryInfo.result;
}
onClick = () => {
this.setState({
result: 1;
});
}
render() {
return (
<li>
<div onClick={onClick}>{result}</div>
</li>
);
}
}
함수형
export default function Try({tryInfo}) {
// props 값을 참조해 state로 할당하기
const [result, setResult] = useState(tryInfo.result);
const onClick = () => {
setResult('1');
}
return (
<li>
<div onClick={onClick}>{result}</div>
</li>
);
}