【发布时间】:2023-03-15 11:12:01
【问题描述】:
我在反应中声明了这个功能组件,但是当我在另一个组件中导入这个组件时它会抛出一个错误,这个组件是未定义的,当我将这个 fat arrow 功能更改为正常的 ES5 函数时,它可以工作!为什么???
export default ActionButton = (props) => {
return (
<div>
<button>
<FontAwesomeIcon icon={faPlusSquare} className={classes.ButtonItem} />
</button>
</div>
);
}
【问题讨论】:
-
你在使用转译器吗?我的猜测是你在这里有一个循环依赖问题,并且正确的函数声明被提升了,但我希望你得到一个临时死区异常而不是
undefined值。 -
请注意,您不小心分配了一个
ActionButton变量,如果该变量尚未在其他地方声明,则该变量确实应该在严格模式下引发异常。你真的在做export default (props) => {…};或者const ActionButton = (props) => { … }; export default ActionButton;甚至const ActionButton = (props) => { … }; export {ActionButton as default}?
标签: javascript reactjs ecmascript-6