typescript - Bir namespace'in arayüzü nasıl genişletilir
Aşağıdaki ad alanını oluşturdum
declare namespace Dante {
import Container from '$dante/components/Container';
interface Component extends Container {
dApplyProps?: (p: UnknownProps) => void;
dApplyLayout?: () => void;
}
}
Aşağıdakilerin geçerli olacağı varsayımındaydım
const myComponent: Dante.Component = /* .. */
myComponent.someContainerMethod()
Ancak bir hata alıyorum; hata mesajı someContainerMethod'un Dante.Component üzerinde mevcut olmadığını söylüyor. Sanırım arayüzü yanlış şekilde genişletiyorum? Container içinde %100 mevcut. Görünüşe göre Container türlerinden hiçbiri miras alınmamış.
Düzenle: Container normal bir ts sınıfıdır
Meraklı bir şekilde bu işe yarıyor, ama neden işe yaradığını ve interface'in işe yaramadığını anlamıyorum
type Component = Container & {
dApplyProps?: (p: UnknownProps) => void;
dApplyLayout?: () => void;
}