【发布时间】:2016-08-15 12:05:16
【问题描述】:
想一个简单的例子比如:
class CommentAreaComponent extends React.Component {
static propTypes = {
id: PropTypes.string.isRequired,
loading: PropTypes.bool,
};
static defaultProps = {
loading: false,
};
在构造函数中我可以定义这样的东西来实现(我认为)同样的事情:
class MyComponent extends React.Component {
constructor({
loading = false,
}:{
id:string,
loading?:boolean
}) {
super(arguments[0]);
}
}
第二个示例仅使用 Flowtype。使用 Reacts PropTypes 和 DefaultProps 有优势吗?或者我可以在使用 FlowType 时完全删除它们吗?
【问题讨论】:
-
我使用 TypeScript 而不是 Flow,但情况类似。我发现在编写代码时你真的可以跳过
propTypes,但一个区别是propTypes将在运行时进行分析,所以如果你正在做任何Flow 无法预测的真正动态的事情,propTypes可能帮助你。
标签: javascript reactjs flowtype react-proptypes