【发布时间】:2017-05-07 16:32:01
【问题描述】:
我想知道在 Typescript 中指定 React 组件没有 props 的正确方法是什么。
如果我有一个组件,我可以通过两个接口指定 props 和 state 的内容:
interface MyProps {
text: string
}
interface MyState {
count: number
}
class MyComponent extends React.Component<MyProps, MyState> {
...
}
那么,如果我的组件没有道具,我应该使用void、undefined 还是{}?
【问题讨论】:
-
我不认为有“正确的方法”可以做到这一点,但是当组件没有道具(或没有状态)时,我通常使用
void,它是written in the docs:@ 987654327@ -
{}从类型系统的角度来看是更可取的。undefined根本不准确,void毫无意义。 @NitzanTomer 没有任何道具映射到空集的概念,而不是根本没有集? -
感谢您的提示!
-
@AluanHaddad 我想这取决于您要传达的内容。当一个组件没有任何 props 时,我通常更愿意将其视为一个没有 props 概念的组件,而不是一个没有 props 的组件。当有继承并且父类不需要任何道具时,我会使用
{}。但是,这是个人喜好。 -
@NitzanTomer 谢谢你的解释,我很感激。
标签: javascript reactjs typescript