尝试在我的代码库中创建一个Nav组件“... params”会导致“意外令牌”错误:
render() {
const {router} = this.context;
const {
index,
onlyActiveOnIndex,
to,
children,
...params
} = this.props;
const isActive = router.isActive(to, onlyActiveOnIndex);
const LinkComponent = index
? Link
: IndexLink;
return (
<li className={isActive
? 'active'
: ''}>
<LinkComponent {...params}>{children}</LinkComponent>
</li>
);
}
显示错误:
> ./src/components/common/NavItem.js中的错误 模块构建失败:SyntaxError: C:/Development/varAssignPages/src/components/common/NavItem.js: 意外的令牌(16:6)
答案 0 :(得分:1)
您可以在JSX标记内部使用spread,但在创建const
时无需使用它。试试这个:
const {
index,
onlyActiveOnIndex,
to,
children,
params
} = this.props;
// ...
<LinkComponent {...params}>{children}</LinkComponent>