propTypes are optional for native components
Summary: We plan to migrate native components like View, Text, and Image to be typed with Flow instead of propTypes so that we can better enforce our usages. This change makes it so that *if* propTypes are defined they must cover the native props. However, if they aren't specified, the validation doesn't occur. Eventually, the prop validation should occur via codegen that generates an interface the native component must implement from the flow types defined in JS. Reviewed By: yungsters Differential Revision: D7203649 fbshipit-source-id: a8095aa46807ce03272e2962289e8f5705b422b9
This commit is contained in:
parent
49396aa78d
commit
dbdf43b428
|
@ -17,7 +17,7 @@ export type ComponentInterface =
|
||||||
| {
|
| {
|
||||||
name?: string,
|
name?: string,
|
||||||
displayName?: string,
|
displayName?: string,
|
||||||
propTypes: Object,
|
propTypes?: Object,
|
||||||
};
|
};
|
||||||
|
|
||||||
function verifyPropTypes(
|
function verifyPropTypes(
|
||||||
|
@ -41,7 +41,7 @@ function verifyPropTypes(
|
||||||
componentInterface.propTypes;
|
componentInterface.propTypes;
|
||||||
|
|
||||||
if (!propTypes) {
|
if (!propTypes) {
|
||||||
throw new Error('`' + componentName + '` has no propTypes defined`');
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var nativeProps = viewConfig.NativeProps;
|
var nativeProps = viewConfig.NativeProps;
|
||||||
|
|
Loading…
Reference in New Issue