【发布时间】:2018-08-13 05:42:49
【问题描述】:
参考。 this question.
我正在尝试完全一样,但使用 Typescript。
问题
这一行(就在导出语句之前):
Sidebar.Item = SidebarItem;
给出编译错误:Property 'Item' does not exist on type 'typeof Sidebar'
尝试的解决方案 1
我尝试将 Item 添加到我的 Sidebar 类定义中,如下所示:
class Sidebar extends Component<SidebarProps, SidebarState> {
Item: SidebarItem;
...
}
但这会导致这个错误:Public property 'Item' of exported class has or is using private name 'SidebarItem'.
尝试的解决方案 2
我已尝试删除此行:
Sidebar.Item = SidebarItem;
我没有将 Item 添加到我的类定义中,而是像这样导出两个类:
export default Sidebar;
export { SidebarItem as Item };
哪个可以编译,我可以像这样导入所有内容:
import * as Sidebar from '...';
但是我必须像这样使用它们:
<Sidebar.default>
<Sidebar.Item></Sidebar.Item>
<Sidebar.Item></Sidebar.Item>
</Sidebar.default>
我真的很想摆脱Sidebar中的.default。
我在这里做错了什么?
【问题讨论】:
标签: javascript reactjs typescript ecmascript-6