-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Description
function foobar(DecoratedComponent) {
return class Parent extends Component {
state = { isActive: true }
render() {
const { isActive } = this.state;
return <DecoratedComponent isActive={ isActive } />;
}
}
}
@foobar()
class Child {
props: { isActive: boolean; };
render() {
....
}
}
In this case, propTypes
will be applied to Wrapper
instead of Parent
it will log in dev-console:
Warning: Failed propType: Invalid prop `isActive` supplied to `Parent`.
Expected:
bool
Got:
void
My .babelrc for help:
{
"presets": ["save"],
"plugins": [],
"env": {
"browser": {
"plugins": [
"typecheck",
["react-transform", {
"transforms": [
{
"transform": "react-transform-hmr",
"imports": [ "react" ],
"locals": [ "module" ]
},
{
"transform": "react-transform-catch-errors",
"imports": [ "react", "redbox-react" ]
}
]
}]
]
},
"production": {
"plugins": ["react-remove-prop-types"]
}
}
}
My workaround for now, which is painful is to call the decorator as a function in the export.
Metadata
Metadata
Assignees
Labels
No labels