-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React DOM (e.g <div />) not type checked #3773
Comments
You mean add a disclaimer that the default return type of Not sure how useful that would be. If you need more type safety, you can easily add it: import React from 'react';
class Test extends React.Component {
render(): React$Element<{ style: number, bogus: string}> {
return <div style={1} bogus="allowed">Test</div>;
}
} |
@mwalkerwells Yeah, that's what I mean - there are not type defs for the React primitives and it's not clear how to provide any. By contrast, Typescript documents how to provide your own types for JSX intrinsics. Regardless, I'd (incorrectly) expected types for these - and thought a disclaimer to this effect might be helpful to others. Feel free to close if you feel otherwise. Otherwise I'm happy to submit a PR. I expect that the simplest way to get strongly typed primitives is to write wrapping components for the various DOM primitives that are strongly typed - in the spirit of react-primitives, but sticking to DOM spec - this is something I've been looking into for use in my own projects. |
We would find it extremely useful to type check props on intrinsics. That appears to be what the issue title is about, but not what @mwalkerwells's clarification points to, unless I'm misunderstanding. As a simpler example, I'd expect this to fail: <div style={1} bogus="allowed">Test</div>; We sometimes spread props into intrinsic components, and it would be valuable to know when we've spread something that includes props React doesn't expect there, or of the wrong type. |
Also, it would be extra nice to have, for instance, |
I'd like to claim this issue please 😃 Will start working on it later this week. |
@motiz88 thank you for taking this on! |
Flow allows this without complaint:
Try
Should we add a disclaimer to this effect to the Flow + React until this level of type-safety is supported?
The text was updated successfully, but these errors were encountered: