Make sure your environment is set up correctly according to the React Native Docs and Expo Docs before you attend the interview question
npm/yarn install
expo install
expo start
-
head over to localhost:19000 and click on run simulator
Your Task : As part of your interview, attempt and complete all 3 as best as you can, if you were not able do one of the tasks, we encourage you to still submit a pull request
-
Call the provider in the "Tab 1" Screen of the boilerplate App.
-
Put the provider it self in the /providers/bottomSheetProvider.tsx file
-
Providers are a good way to eliminate prop drilling and here we have an idea of a BottomSheet provider. It will allow us to call the BottomSheet without having to create refs in each file and instead call the provider and use the bottomSheet anywhere.
-
Refer to this Bottom Sheet Modal Library
-
Once you are done creating the provider an example way to use the provider would be like the following:
import React from 'react';
import { Button } from 'react-native';
import { useBottomSheet } from './providers/bottomSheetProvider.tsx';
export default function App() {
const bottomSheet = useBottomSheet();
return (
<Button
onPress={ () => bottomSheet( {
render( modal ) {
return <BottomSheetContent />;
},
snapPoints: [ '50%', '70%' ]
} ) }>
Show Modal
</Button>
)
}
- Create this feature below within the given boiler plate app.
- Note: if the gif below doesn't load correctly, try this link for the full demo video : Demo Video
Create this feature in the "Tab 2" Screen of the boilerplate App.
-
Your task is to a create a custom horizontally scrolling category section so that as the user scrolls down the page, then the categories on the top also scroll horizontally and shift over. Use
FlatList
. User should also be able to click on any of these categories and the page should scroll down to that section. -
You may use the
Reanimated API V2
.
- Create this feature below within the given boiler plate app.
- Note: if the gif below doesn't load correctly, try this link for the full demo video : Demo Video
Create this feature in the "Tab 3" Screen of the boilerplate App.
- Add a button that pops a modal which asks the user what kind of document they would like to upload, they can choose a picture, or video from their gallery, and upload it to the empty screen.
-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-