Javascript 如何在React Native中启用装饰程序
这是错误Javascript 如何在React Native中启用装饰程序,javascript,react-native,babeljs,Javascript,React Native,Babeljs,这是错误 src\components\LeftMenu\MenuOverlay.js: F:\PROJECT ONE\mspone-expo\src\components\LeftMenu\MenuOverlay.js: Decorators are not enabled. If you are using ["@babel/plugin-proposal-decorators", { "legacy": true }], make sure it c
src\components\LeftMenu\MenuOverlay.js: F:\PROJECT ONE\mspone-expo\src\components\LeftMenu\MenuOverlay.js: Decorators are not enabled.
If you are using ["@babel/plugin-proposal-decorators", { "legacy": true }], make sure it comes *before* "@babel/plugin-proposal-class-properties" and enable loose mode, like so:
["@babel/plugin-proposal-decorators", { "legacy": true }]
["@babel/plugin-proposal-class-properties", { "loose": true }]
10 |
11 |
> 12 | @withTheme
| ^
13 | class MenuOverlay extends PureComponent {
14 | static propTypes = {
15 | goToScreen: PropTypes.func,
Failed building JavaScript bundle.
我安装了npm I--save dev customize cra react应用程序重新布线
MenuOverLay.js源代码
/** @format */
import React, { PureComponent } from "react";
import PropTypes from "prop-types";
import { connect } from "react-redux";
import SideMenu from "react-native-drawer";
import { withTheme, warn} from "@common";
import { Drawer } from "@components";
@withTheme
class MenuOverlay extends PureComponent {
static propTypes = {
goToScreen: PropTypes.func,
routes: PropTypes.object,
isOpenMenu: PropTypes.bool.isRequired,
};
toggleMenu = (isOpen) => {
if (!isOpen) {
this.props.toggleMenu(isOpen);
}
};
render() {
const {
isOpenMenu,
theme: {
colors: {text, background },
},
} = this.props;
warn(this.props.theme)
return (
<SideMenu
ref={(_drawer) => (this.drawer = _drawer)}
type="overlay"
tapToClose
open={isOpenMenu}
onClose={() => this.toggleMenu(false)}
panCloseMask={0.3}
panThreshold={0.3}
openDrawerOffset={0.3}
useInteractionManager
content={
<Drawer
colorTextMenu={text}
backgroundMenu={background}
goToScreen={this.props.goToScreen}p
/>
}>
{this.props.routes}
</SideMenu>
);
}
}
const mapStateToProps = ({ sideMenu }) => ({
isOpenMenu: sideMenu.isOpen,
});
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const { dispatch } = dispatchProps;
const { actions: sideMenuActions } = require("@redux/SideMenuRedux");
return {
...ownProps,
...stateProps,
toggleMenu: (isOpen) => dispatch(sideMenuActions.toggleMenu(isOpen)),
};
};
export default connect(
mapStateToProps,
null,
mergeProps
)(MenuOverlay);
我尝试添加“插件”:[[“@babel/plugin提案装饰器”{
“legacy”:true}]到babel.config.json,然后应用程序启动失败,但没有解决问题,我甚至将babel.config.json重命名为babelrc,但没有解决问题
{
"presets": ["babel-preset-expo"],
"env": {
"production": {
"plugins": ["transform-remove-console"]
}
}
}