为功能组件指定propTypes的标准方法是在函数主体之后:
const One = ({text}) => {
return <div>One says {text}</div>
};
One.propTypes = {
text: PropTypes.string.isRequired
};
export default One;
我在某处看到了一种替代方法,将propTypes
属性写在函数主体中:
const One = ({text}) => {
One.propTypes = {
text: PropTypes.string.isRequired
};
return <div>One says {text}</div>
};
export default One;
我实际上倾向于第二种,特别是在组件有很多行的情况下,以便propTypes(合同的一部分)在视觉上接近声明。 但是这种方式几乎没有提到,这让我感到奇怪:
是有效的ES6(将属性分配给内部的箭头功能
身体)?我本来不是,因为
那时变量One
的函数尚未发生...
但这似乎可行-下面的示例。
它有什么缺点吗?
const mifunc = (x,y) => {
mifunc.prop1 = 'hi';
return x+y;
}
console.log(mifunc(2,3));
console.log(mifunc.prop1);