这是我的情景。我正在导入一个TypeScript接口,为其提供本地名称,在本地使用它,并使用相同的本地名称重新导出它。为了实现这一点,我有一个import
语句和一个export
语句,它具有相同的本地名称和路径。所以我很想知道是否有可能以某种方式结合这些陈述。
// \app\models\FilterIdValue.ts
export interface FilterIdName {
filterId: number;
name: string;
}
// \app\components\FilterIdName.tsx
import { FilterIdName as FilterIdNameProps } from '../models/FilterIdValue'
export { FilterIdName as FilterIdNameProps } from '../models/FilterIdValue'
// Can the import and export be combined somehow?
export interface FilterIdNameListProps {
items: FilterIdNameProps[];
}
export default class FilterIdNameList extends React.Component<FilterIdNameListProps, any> {
constructor(props: FilterIdNameListProps) {
super(props);
}
render() {
var items = this.props.items.map(item => (
<FilterIdName filterId={item.filterId} name={item.name} />
));
return (<div>{items}</div>);
}
}
// \app\components\FilterIdNameList.tsx
import FilterIdName, { FilterIdNameProps } from './FilterIdName'
//...
这样做的一个原因是在下游对象中使用单个import语句(预定义别名的本地名称,并在一个位置维护相对路径)。
从细读Exploring ES6开始,我认为这是不可能的。但我很好奇是否有另一种方法来阻止维护额外声明(别名和路径)。
答案 0 :(得分:0)
没有。虽然还有其他方法可以实现同样的效果,但您总是需要两个语句。