导出默认值和声明匿名函数合而为一
Exporting a default & declaring anon function all in one
这是我想做的事情的一个例子,目前抛出一个错误。我不确定我明白为什么,但在一行中导出、分配默认值和分配变量在语法上是不正确的。让它成为一个匿名函数的好处是我可以使用粗箭头 =>
并用 (
和 )
打开一个 return 值而不是打开 {
和 }
到 return
jsx
.
export default let Checkbox = (props) => (
<div style={styles.checkboxContainer}>
<input styleName={styles.checkbox} type="checkbox" />
<span styleName={styles.checkboxStyled}></span>
</div>
)
有没有办法在一行中完成所有这些?为什么我不能/为什么它不在规范中有充分的理由吗?
如果需要,您可以为命名导出执行此操作,但不能为默认导出执行此操作。
您的备选方案是:
不要声明变量。毕竟,您只想导出单个值:
export default (props) => (
…
);
声明变量并在两个单独的声明中导出它:
let Checkbox = (props) => (
…
);
export default Checkbox;
如果您需要绑定到变量,因为您想要(重新)分配给它(如 let
建议的那样),请使用
export {Checkbox as default};
使用正确的函数声明(也绑定局部变量):
export default function Checkbox(props) {
return …
}
如果不需要,也可以导出未命名的函数声明。
这是我想做的事情的一个例子,目前抛出一个错误。我不确定我明白为什么,但在一行中导出、分配默认值和分配变量在语法上是不正确的。让它成为一个匿名函数的好处是我可以使用粗箭头 =>
并用 (
和 )
打开一个 return 值而不是打开 {
和 }
到 return
jsx
.
export default let Checkbox = (props) => (
<div style={styles.checkboxContainer}>
<input styleName={styles.checkbox} type="checkbox" />
<span styleName={styles.checkboxStyled}></span>
</div>
)
有没有办法在一行中完成所有这些?为什么我不能/为什么它不在规范中有充分的理由吗?
如果需要,您可以为命名导出执行此操作,但不能为默认导出执行此操作。
您的备选方案是:
不要声明变量。毕竟,您只想导出单个值:
export default (props) => ( … );
声明变量并在两个单独的声明中导出它:
let Checkbox = (props) => ( … ); export default Checkbox;
如果您需要绑定到变量,因为您想要(重新)分配给它(如
let
建议的那样),请使用export {Checkbox as default};
使用正确的函数声明(也绑定局部变量):
export default function Checkbox(props) { return … }
如果不需要,也可以导出未命名的函数声明。