리액트 네이티브와 mobx, mobx-react 모두 최신버전으로 설치후 @inject 데코레이터를 사용하려고 했는데 아래와 같은 오류가 납니다
Expected a constructor
혹시 이런 현상을 해결해 보신분 계신가요?
리액트 네이티브와 mobx, mobx-react 모두 최신버전으로 설치후 @inject 데코레이터를 사용하려고 했는데 아래와 같은 오류가 납니다
Expected a constructor
혹시 이런 현상을 해결해 보신분 계신가요?
이거 저도 저런 에러 봤습니다.
mobx-react가 6.0.2일때 에러가 났었는데, 5버전때로 낮추니 해결됬습니다.
오오 답변 감사합니다
일단 저도 버전을 낮춰봐야겠네요
Babel 에 decorator 지원 플러그인을 추가하시면 됩니다.
React Native 사용하시고 metro-react-native-babel-preset > 0.54
기준으로 babel 설정 부분에 플러그인 추가해보세요.
decorator 플러그인은 설치하셔야 합니다.
yarn -D add @babel/plugin-proposal-decorators
plugin-proposal-class-properties
같은 경우 0.54 버전 기준으로 이미 dependencies에 포함되어 있으므로 따로 설치해주시지 않아도 괜찮습니다.
{
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true}],
["@babel/plugin-proposal-class-properties", { "loose": true}]
]
}
답변 감사합니다.
해당 바벨 플러그인들은 이미 설치된 상태였습니다. 아마도… 설치가 안되어있었다면 syntax 오류가 났겠죠?
일단은 mobx-react 를 5버전대로 다운그레이드 하여 해결했습니다.
저도 동일한 증상이 나오는군요. 아래 관련된 이슈를 첨부합니다.
Using HOC with Wrapper Forwarding refs via es7 Decorators will throw **Expected a constructor** error.