我有这段可以在codesandbox中编译的代码。但是,如果克隆并npm install然后尝试在本地运行它,则会出现编译错误:
Failed to compile.
./src/index.js
Syntax error: Unexpected token (9:0)
7 | import './styles.css'
8 |
> 9 | @withGesture // https://github.com/drcmda/react-with-gesture
| ^
10 | class Slider extends React.Component {
11 | render() {
12 | const { xDelta, down, children } = this.props
react-with-gesture模块显示了使用它的不同方式,但是我想知道为什么我会得到编译错误以及是否有防止它的方法。感谢任何答案。
答案 0 :(得分:1)
react-scripts
维护者decline to support decorators。我不知道CodeSandbox在做什么使这项工作。一种替代方法是custom-react-scripts。或者,您可以只使用函数调用来代替装饰器:
class OrigSlider extends React.Component {
// ...
}
let Slider = withGesture(OrigSlider);
这样做时,我得到一个不相关的错误,看起来像@babel/runtime
和react-spring
之间的不兼容。升级到最新的react-spring
使服务器为我运行。 Final codesandbox。