Comments (4)
Yeah, that's actually a design decision, have a look at #8
It's also taking a side by only accepting
React.Component
andComponent
as class names.
Anything else, likeBaseComponent
, won't be optimised.
from babel-plugin-transform-react-remove-prop-types.
Ah, I see, thanks for the pointer!
So does it mean that Babel doesn't allow to traverse up the inheritance chain at all or it's just current limitation of the plugin?
from babel-plugin-transform-react-remove-prop-types.
The thing is, I can't remove the propTypes
from any class. I should only do it on a React class component.
I need a heuristic to do so. I relying on the React.Component
and Component
class names.
That works great in +90% of the cases.
For your specific cases, we could also be looking for a render
method and assert that this method is returning a React element.
TL;DR The quick win is to rename your Parent
class. The right way to fix this issue would be to improve the heuristic.
P.S. Notice that using inheritance is considered a bad pattern in React. I would rather use composition.
from babel-plugin-transform-react-remove-prop-types.
This issue is quite old. I haven't seen more need for it. I'm closing it. Thanks for raising your voice.
from babel-plugin-transform-react-remove-prop-types.
Related Issues (20)
- 0.4.16 bug: Cannot read property 'referencePaths' of undefined at VariableDeclarator, lib/index.js:292:56 HOT 6
- Cannot read property 'type' of undefined at memberExpressionRootIdentifier HOT 1
- react-portal remove prop-types HOT 2
- mode wrap broken in 0.4.20(#168) HOT 2
- Ability to remove `contextTypes` HOT 6
- "unsafe-wrap" mode crashes when a type is referenced from a variable
- Support createReactClass alternatives via config HOT 4
- Cannot get "name" of undefined
- Is it supports react-native? HOT 9
- Destructured PropTypes are not removed HOT 4
- Doesn't work with react-navigation library
- Issue when used with `createReactClass` HOT 1
- Option to include only certain files
- Support for configure wrap condition HOT 4
- Rename wrongly in switch/case statement
- Not working for SFC forwardRef() and createContext()
- Doesnโt remove propTypes in certain situations HOT 2
- Transform error with mode=wrap for TypeScript class component static propTypes type definition HOT 4
- How to use it with multiple environments in babel-env?
- swc support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from babel-plugin-transform-react-remove-prop-types.