mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix type of exported Touchables: ComponentType -> AbstractComponent (#28737)
Summary: Fixes https://github.com/facebook/react-native/issues/28726 When importing TouchableOpacity, it is treated as any by Flow. Replacing ComponentType with AbstractComponent works. The [Flow documentation](https://flow.org/en/docs/react/types/#toc-react-componenttype) says the following about ComponentType: > Note: In 0.89.0+, React.ComponentType is an alias for React.AbstractComponent<Config, any>, which represents a component with config type Config and any instance type. So I'm thinking that since the instance type is treated as any with ComponentType, Flow treats TouchableOpacity as any as well. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [General] [Fixed] - Fix Touchable{Opacity,Bounce,Highlight} being exported as `any` (Flow) Pull Request resolved: https://github.com/facebook/react-native/pull/28737 Test Plan: I have done the same changes to react-native in my project's node_modules and seen that the components TouchableOpacity went from any to AbstractComponent with some props. Now I have a bunch of errors because I'm sending in wrong props to some touchables, which is good! Reviewed By: cpojer Differential Revision: D21362601 Pulled By: TheSavior fbshipit-source-id: 5b98cc79eaef034eccdb7f47242f9f44be2ef2b8
This commit is contained in:
committed by
Facebook GitHub Bot
parent
4459c08219
commit
de7f69a58e
@@ -214,4 +214,4 @@ class TouchableBounce extends React.Component<Props, State> {
|
||||
|
||||
module.exports = (React.forwardRef((props, hostRef) => (
|
||||
<TouchableBounce {...props} hostRef={hostRef} />
|
||||
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
|
||||
@@ -380,4 +380,4 @@ class TouchableHighlight extends React.Component<Props, State> {
|
||||
|
||||
module.exports = (React.forwardRef((props, hostRef) => (
|
||||
<TouchableHighlight {...props} hostRef={hostRef} />
|
||||
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
|
||||
@@ -299,4 +299,4 @@ class TouchableOpacity extends React.Component<Props, State> {
|
||||
|
||||
module.exports = (React.forwardRef((props, hostRef) => (
|
||||
<TouchableOpacity {...props} hostRef={hostRef} />
|
||||
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
|
||||
|
||||
Reference in New Issue
Block a user