Comments (2)
Hey Sam! Thanks for raising this issue! It's a good idea, with some design constraints/history worth knowing about before diving in to it.
We actually used to do this (on the extract-react-types
side anyway, pretty-prop-types
(the rendering engine) always took the first component which is not ideal).
Basically it found everything in your file that was a React.Component
.
We switched this when we switched to also analysing functional components, which switched us to analysing export instead of just found components. By only looking at default, we can make an assumption that the export is a component (functional or otherwise), and analyse them like that. In fact, our logic to detect a functional component is just
extract-react-types/packages/extract-react-types/src/index.js
Lines 1567 to 1575 in a972d10
:badpokerface:
Analysing multiple exports and being confident they are all components probably means implementing real logic here that determines whether a function is a function component or not.
(Though we want to do that anyway, as extract-react-types
does enough now we're thinking about pointing it at function and object signatures, as it theoretically does these anyway)
Uh, hope that helps answer your question!
The easy answer is yes, qualified by the above.
from extract-react-types.
ps. If you want to just use multiple exports now, you can via this exported function that we have failed to document:
extract-react-types/packages/extract-react-types/src/index.js
Lines 1603 to 1614 in a972d10
from extract-react-types.
Related Issues (20)
- Prop opt out HOT 1
- Type support checklist ✅
- Error: Missing converter for X
- Idea: Prop type skip
- Default values for props are not always extracted
- Improved support for React.memo & React.forwardRef
- Feat: Add ability to hide props from the docs HOT 1
- Feat: Add support for forwardRef used within memo using TS type inference
- Bug: Missing converter for: [path]
- Feat: Add support for memo wrapped around a component as an assigned variable
- Feat: Add support for typecasted HOCs (i.e. typecasted memo'd components)
- Feat: Add a way to display types that are not props
- Issues getting this to work HOT 6
- Support for both React.FC and FC
- PropsTable layout does not show if a prop is required
- Decouple from atlaskit website build HOT 3
- Avoid including `ts-ignore` and `eslint-disable-next-line` in docs HOT 1
- Props not being extracted when using both memo and forward ref HOT 1
- Babel plugin fails to extract props when project Babel config contains overrides
- Can't extract types from namespace type.
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 extract-react-types.