[No QA] [TS Migration] migrate KeyboardAvoidingView.js to TypeScript#29955
Conversation
| import {KeyboardAvoidingView as KeyboardAvoidingViewComponent, KeyboardAvoidingViewProps} from 'react-native'; | ||
|
|
||
| function KeyboardAvoidingView(props) { | ||
| function KeyboardAvoidingView(props: KeyboardAvoidingViewProps): React.ReactNode { |
There was a problem hiding this comment.
I think we decided to not add return types to components
|
|
||
| function KeyboardAvoidingView(props) { | ||
| const viewProps = _.omit(props, ['behavior', 'contentContainerStyle', 'enabled', 'keyboardVerticalOffset']); | ||
| function KeyboardAvoidingView(props: KeyboardAvoidingViewProps): React.ReactNode { |
| function KeyboardAvoidingView(props) { | ||
| const viewProps = _.omit(props, ['behavior', 'contentContainerStyle', 'enabled', 'keyboardVerticalOffset']); | ||
| function KeyboardAvoidingView(props: KeyboardAvoidingViewProps): React.ReactNode { | ||
| const {behavior, contentContainerStyle, enabled, keyboardVerticalOffset, ...rest} = props; |
There was a problem hiding this comment.
do YOu use these variables? behavior, contentContainerStyle, enabled, keyboardVerticalOffset
blazejkustra
left a comment
There was a problem hiding this comment.
@JKobrynski types.ts file with common types is missing
What would you like to see in such a file? |
|
@JKobrynski Something like this: //types.ts
import {KeyboardAvoidingViewProps} from 'react-native';
export default KeyboardAvoidingViewProps;
// index.tsx / index.ios.tsx
import KeyboardAvoidingViewProps from './types'I know it's silly but we need to define a common type to make sure all implementations have the same props. It will make it more saf ein the future if someone decide to change the types. |
|
@blazejkustra done! |
Reviewer Checklist
Screenshots/VideosAndroid: Native |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/lakchote in version: 1.3.94-0 🚀
|
1 similar comment
|
🚀 Deployed to staging by https://github.com/lakchote in version: 1.3.94-0 🚀
|
|
🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.94-2 🚀
|
|
🚀 Deployed to staging by https://github.com/lakchote in version: 1.3.95-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.95-9 🚀
|





Details
Fixed Issues
$ #25002
PROPOSAL: N/A
Tests
Offline tests
N/A
QA Steps
N/A
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop