我正在尝试使用React调整this code一个小项目,但是我遇到了麻烦,我不知道如何解决这个问题,因为我不知道这是不是原来的代码或我的Babel那个错误(比如,缺少一个库或其他东西),或者如果我不能因为React。
所以我必须调整一些函数,否则Babel会在它们上面抛出一个意想不到的标记,即
static propTypes = { // unexpected '='
onRequestSort: PropTypes.func.isRequired,
onSelectAllClick: PropTypes.func.isRequired,
order: PropTypes.string.isRequired,
orderBy: PropTypes.string.isRequired,
};
成了
static get propTypes() {
return {
onRequestSort: PropTypes.func.isRequired,
onSelectAllClick: PropTypes.func.isRequired,
order: PropTypes.string.isRequired,
orderBy: PropTypes.string.isRequired,
}
}
和此:
handleRequestSort = (event, property) => { ... } // unexpected '='
成了这个:
handleRequestSort(event, property) { ... }
对于我的主要问题,我将其替换为:
createSortHandler = property => event => { // unexpected '='
this.props.onRequestSort(event, property);
};
由此
createSortHandler(property) {
return function (event) {
this.props.onRequestSort(event, property);
};
};
但是,如果我点击表格上触发订单更改的箭头,我会得到cannot read props of undefined
。否则,我会得到'意外令牌'=',如我的代码所示。
所以我的问题如下:是原始代码车,是我的宝贝还是其他东西?我目前在使用webpacker的Rails基础上,但我不相信这就是我遇到这些问题的原因。
答案 0 :(得分:4)
你错过了babel-plugin-transform-class-properties
插件来转换实验语法的类属性(因此是意外的标记RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
)。如果要使用$config['base_url']
的类属性和类属性箭头函数,请在Babel配置中包含它。第二个错误,=
未定义是因为您使用的是propTypes
未引用该组件的常规函数。改为返回箭头功能:
this.props