2

I am currently using Expo for my react native project. I use some of the expo APIs such as Camera, Permissions, Fonts and FileSystem. However, I have come to realise that I require more functionalities such as In App Purchases which isn't supported in Expo. I have a few questions about ejecting.

  1. If i eject to ExpoKit can I still use the Expo Apis such as FileSystem, Permissions etc.
  2. If I eject to pure React Native can I still use the Expo Apis such as FileSystem, Permissions etc

  3. If I eject to ExpoKit can I then later eject to pure react native (free myself completely from Expo). Also is there a reason why I would need to do this (i.e are there any limitations with ExpoKit)

1 Answer 1

3

I've exactly dealt with the situation , letme answer those questions first and then Ill tell my recommendation :

  1. Yes you can use the expo modules if you eject to ExpoKit.

2.If you eject to react native , the still you can use the modules of expo after installing the react-native-unimodules library from npm which has all the expo dependencies. unimodules expo file system

  1. There are quite limitations of expo kit as ExpoKit is another way to use Expo tools in a vanilla React Native app. The problem with ExpoKit is it is, compared to the "bare workflow", very monolithic — you essentially include the entire runtime from the Expo "managed workflow" in your app, rather than only the pieces of it that you want

Now what ive done is i had my expo app in production for quite some while , it was very slow and laggy and many modules like in app purchases etc wasnt integrated because of the limitations. Then ive decided entirely to pure react native. It's the best decision. You have control over app size and even the performance. So i would say , switch to pure react native for production and if you want to learn react native then follow expo path

Sign up to request clarification or add additional context in comments.

3 Comments

Thanks for your help. If I eject to pure react native and still want to use expo modules, will that be a performance and size issue because I am importing all the expo dependencies. Also if I eject to expoKit , can I later eject from expoKit to pure RN?
i dont know about the ejection from expo kit to RN. I guess there should be a way. But yes in RN if you want to use expo modules it will be heavy, so dont go for that approach , try other RN modules like npmjs.com/package/react-native-fs for file system and all. It will take some time to change, but believe me . , it will . be better
Ok thank you for your help. Expo is good, I just feel like I'm constantly being limited 😥

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.