Name three Core Components of React Native and describe what they do.
<View>: A container that supports layout with flexbox, style, some touch handling, and accessibility controls
<Text>: Displays, styles, and nests strings of text and even handles touch events
<Image>: Displays different types of images
What problem does React Native solve (why call it native)?
React Native is an open source framework for building Android and iOS applications using React and the app platform’s native capabilities. With React Native, you use JavaScript to access your platform’s APIs as well as to describe the appearance and behavior of your UI using React components: bundles of reusable, nestable code.
What are the building blocks of a React Native app? How does that compare to a React app?
Checkout this tool. What does snack allow you to do?
Expo Snack is an open-source platform for running React Native apps in the browser. It dynamically bundles and compiles code and runs it in the Expo Client or in a web-player. Code can be saved as “Snacks” and easily shared with others.
What does “eject” mean within the context of Expo?
Expo allows you to eject your pure-JS project from the Expo iOS/Android clients, providing you with native projects that can be opened and built with Xcode and Android Studio. Those projects will have dependencies on ExpoKit, so everything you already built will keep working as it did before.
When should you not eject?
All you need is to distribute your app in the iTunes Store or Google Play. Expo can build binaries for you in that case. If you eject, we can’t automatically build for you any more.
You are uncomfortable writing native code. Ejected apps will require you to manage Xcode and Android Studio projects.
You enjoy the painless React Native upgrades that come with Expo. After your app is ejected, breaking changes in React Native will affect your project differently, and you may need to figure them out for your particular situation.
You require Expo’s push notification services. After ejecting, since Expo no longer manages your push credentials, you’ll need to manage your own push notification pipeline.
You rely on asking for help in the Expo community. In your native Xcode and Android Studio projects, you may encounter questions which are no longer within the realm of Expo.
Why might you choose to eject?
Your Expo project needs a native module that Expo doesn’t currently support. We’re always expanding the Expo SDK, so we hope this is never the case. But it happens, especially if your app has very specific and uncommon native demands.