首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么`导出默认Const`无效?

为什么`导出默认Const`无效?
EN

Stack Overflow用户
提问于 2016-03-28 19:16:20
回答 4查看 224.9K关注 0票数 508

我看到以下内容很好:

const Tab = connect( mapState, mapDispatch )( Tabs );
export default Tab;

但是,这是不正确的:

export default const Tab = connect( mapState, mapDispatch )( Tabs );

然而,这是很好的:

export default Tab = connect( mapState, mapDispatch )( Tabs );

请解释一下为什么在export defaultconst是无效的?它是否是不必要的添加&任何声明为export default的内容都被假定为const或类似的东西?

EN

回答 4

Stack Overflow用户

发布于 2017-03-16 15:03:59

如果想导出默认的const/let,也可以这样做,而不是

const MyComponent = ({ attr1, attr2 }) => (<p>Now Export On other Line</p>);
export default MyComponent

你可以这样做,这是我个人不喜欢的。

let MyComponent;
export default MyComponent = ({ }) => (<p>Now Export On SameLine</p>);
票数 68
EN

Stack Overflow用户

发布于 2018-07-14 01:06:03

保罗分享的答案是最好的。要扩展更多内容,

每个文件只能有一个默认导出。而可以有多个常量导出。默认变量可以用任何名称导入,而常量变量可以用它的特定名称导入。

var message2 = 'I am exported';
export default message2;
export const message = 'I am also exported'

在导入端,我们需要像这样导入它:

import { message } from './test';

import message from './test';

在第一次导入时,将导入const变量,而在第二次导入时,将导入默认变量。

票数 12
EN

Stack Overflow用户

发布于 2017-09-02 00:19:00

保罗的答案就是你要找的那个。但是,作为一个实际问题,我想您可能会对我在自己的React+Redux应用程序中使用的模式感兴趣。

下面是我的一条路径中的一个简化示例,展示了如何定义组件并使用一条语句将其导出为默认组件:

import React from 'react';
import { connect } from 'react-redux';

@connect((state, props) => ({
    appVersion: state.appVersion
    // other scene props, calculated from app state & route props
}))
export default class SceneName extends React.Component { /* ... */ }

(注意:我使用术语“场景”来表示任何路由的顶级组件)。

我希望这能对你有所帮助。我觉得它比传统的connect( mapState, mapDispatch )( BareComponent )看起来干净多了

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36261225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档