-
Notifications
You must be signed in to change notification settings - Fork 25k
[FlowCleanup] InspectorPanel -> Delete PropTypes #21392
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
Changes from 3 commits
d818626
59c68f3
758c13a
d234739
15406ff
a8dd2fd
db5d2f3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,7 +21,19 @@ const Text = require('Text'); | |
| const TouchableHighlight = require('TouchableHighlight'); | ||
| const View = require('View'); | ||
|
|
||
| class InspectorPanel extends React.Component<$FlowFixMeProps> { | ||
| type Props = $ReadOnly<{| | ||
| devtoolsIsOpen?: ?boolean, | ||
| inspecting?: ?boolean, | ||
| setInspecting?: ?(val: boolean) => void, | ||
| perfing?: ?boolean, | ||
| setPerfing?: ?(val: boolean) => void, | ||
| touchTargeting?: ?boolean, | ||
| setTouchTargeting?: ?(val: boolean) => void, | ||
| networking?: ?boolean, | ||
| setNetworking?: ?(val: boolean) => void, | ||
| |}>; | ||
|
|
||
| class InspectorPanel extends React.Component<Props> { | ||
| renderWaiting() { | ||
| if (this.props.inspecting) { | ||
| return ( | ||
|
|
@@ -57,22 +69,22 @@ class InspectorPanel extends React.Component<$FlowFixMeProps> { | |
| <View style={styles.container}> | ||
| {!this.props.devtoolsIsOpen && contents} | ||
| <View style={styles.buttonRow}> | ||
| <Button | ||
| <InspectorPanelButton | ||
| title={'Inspect'} | ||
| pressed={this.props.inspecting} | ||
| onClick={this.props.setInspecting} | ||
| /> | ||
| <Button | ||
| <InspectorPanelButton | ||
| title={'Perf'} | ||
| pressed={this.props.perfing} | ||
| onClick={this.props.setPerfing} | ||
| /> | ||
| <Button | ||
| <InspectorPanelButton | ||
| title={'Network'} | ||
| pressed={this.props.networking} | ||
| onClick={this.props.setNetworking} | ||
| /> | ||
| <Button | ||
| <InspectorPanelButton | ||
| title={'Touchables'} | ||
| pressed={this.props.touchTargeting} | ||
| onClick={this.props.setTouchTargeting} | ||
|
|
@@ -84,19 +96,16 @@ class InspectorPanel extends React.Component<$FlowFixMeProps> { | |
| } | ||
|
|
||
| InspectorPanel.propTypes = { | ||
| devtoolsIsOpen: PropTypes.bool, | ||
| inspecting: PropTypes.bool, | ||
| setInspecting: PropTypes.func, | ||
| inspected: PropTypes.object, | ||
| perfing: PropTypes.bool, | ||
| setPerfing: PropTypes.func, | ||
| touchTargeting: PropTypes.bool, | ||
| setTouchTargeting: PropTypes.func, | ||
| networking: PropTypes.bool, | ||
| setNetworking: PropTypes.func, | ||
| }; | ||
|
|
||
| class Button extends React.Component<$FlowFixMeProps> { | ||
| type InspectorPanelButtonProps = $ReadOnly<{| | ||
| onClick?: ?Function, | ||
|
||
| pressed?: ?boolean, | ||
| title?: ?string, | ||
| |}>; | ||
|
|
||
| class InspectorPanelButton extends React.Component<InspectorPanelButtonProps> { | ||
| render() { | ||
| return ( | ||
| <TouchableHighlight | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Circle CI errors indicate that we need to strict type it rather than
?boolean. Do we want strict type checking or nullable type checking? or maybe both. I think this applies to all the boolean values when we are doing:if(value) then somethingThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the following work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. But these props can be either boolean or undefined. I don't know how to write for both?
?booleanshould work, but I get this error:Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm... There's only one use of
<InspectorPanel>in the codebase:Lets make the
inspecting,setInspecting,perfing,setPerfing,selection,setSelectionprops non-optional. That should fix our problems.