I'm using it in production and it works very well. I've only used it with expo, tho. One of the few problems I had is that when you have to use a library, you have to find a library that supports both the web and android/ios. If there are no good options, you'll end up having to create separate components for the web and for android/ios. Also, a few things (like changing a view's styles on hover) are much harder than in regular CSS, but I still think it's worth it. Answer from mnbkp on reddit.com
🌐
Reddit
reddit.com › r/reactnative › react native web, worth using??
r/reactnative on Reddit: React Native Web, worth using??
January 9, 2025 -

I've got a project that is more than likely best suited using a mobile app. But there are also going to be users in an office in front of a computer. The interfaces between the two "versions" can be mostly similar. I don't really know react, but the idea of being able to use react native and react native web for both mobile and desktop sounds too good to pass up. Taking a tutorial on Udemy and I'm already seeing some pain points on the web version. Views default to noscroll, everything in a narrow portrait mode, etc. Looks like there would be a lot of extra logic to get decent views on both web and mobile versions from the same codebase. All tutorials I see specifically focus on react native, nothing specifically for how to have an awesome web and mobile version using react native web. Is there such a thing? Or better to just use regular react for the web browser?

🌐
Reddit
reddit.com › r/reactnative › react native web, or separate react project?
r/reactnative on Reddit: React Native Web, or separate React project?
November 4, 2023 -

I'm planning a new SaaS project that is going to have a web app as well as a mobile app. I am having trouble deciding if I want to build a separate web app in React, or just keep everything in React Native. I'd also like to reuse a lot of this code for any future projects as sort of a starter template.

I am way more familiar with React than React Native, although I have done some stuff in React Native, but never utilized their web portion. Here are some considerations I'm hoping to get some light shed on:

  1. How is the DX with React Native Web? Are there limitations or quirks that you run into that would be much easier to handle in React? If I do run into limitations, is it possible to build some of the website components in React and some in React Native, or is that not a thing?

  2. Are there any prebuilt UI component libraries that you would recommend for a React Native only approach? Something that looks good on web and mobile and ideally provides some templates as well like a sign in page, landing page, etc.

  3. If I choose the React Native + React route, I've read that people create mono repos and reuse as much code as possible, such as state management and hooks. Can anyone explain how this is set up and maybe provide some GitHub repos that use this method? I assume they just have something like a web dir, native app dir and then a shared dir or something.

  4. I want to use a UI library that comes with prebuilt components. I really like Preline UI for example, however, it's only for React, not Native. If I used something like that for React, how difficult would that be to keep a consistent style between the mobile app and web? I assume I would basically need to rewrite all the components myself for React Native if I really want to keep a consistent style.

  5. Related to #4, are there any UI libraries that provide UI components for both React and React Native?

Any insight is appreciated, thanks!

🌐
Reddit
reddit.com › r/reactnative › using react native for web
r/reactnative on Reddit: Using React Native for Web
January 7, 2024 -

Hi,

I'm starting work on an application that needs to be created for three platforms: web, iOS, and Android. I want to use React Native for this, but I'm wondering how to approach the implementation of the web version.

Option 1: I use React Native Web and try to use shared native components.

Option 2: I use the regular version of React and create a web version as a separate project.

In terms of functionality, 70-80% of the features are common to both web and mobile.

My concerns: handling separate layout for web/mobile, will native components work seamlessly on web, media queries/responsiveness, routing and handling code when web/mobile functionalities will grow separetly.

Based on your experience, can you advise me on which option would be better?

🌐
Reddit
reddit.com › r/reactnative › i thought react native for web would be easier than this...
r/reactnative on Reddit: I thought React Native for web would be easier than this...
September 28, 2023 -

I have been using React Native (+ Expo) for a few months now, and have developed and launched my app for both Android and iOS. I'm now needing to add some features that would be best accessed from a web app, so thought it would be as simple as tapping 'w' in Expo and seeing my app appear in the browser. How wrong I was.

I'm faced with a never-ending barrage of javascript console errors, first relating to a StyleSheet.create() not accepting the way I had structured my styles (which the native builds had no problem with), then with a stream of complaints about modules using 'react-native' instead of 'react-native-web'.

Am I missing something, or is this just not as easy as I thought? Does anybody use React Native to make a web version of an iOS/Android app, or do you just build a separate React app for that?

Top answer
1 of 5
4
My suggestion if you want to do RN on web is to ditch expo and manually implement RNWeb. This may seem controversial but RNWeb is a bit tricky and if you are relying on 3rd party magic you might not have a core understanding of exactly how it works, and react native web isn’t mature enough yet to just be black box bullet proof. I hope with some time under it, RNWeb can be more intuitive but for now I find that I need to have an understanding of how it works at a core level to stand a chance at debugging cryptic error messages.
2 of 5
2
React Native is a (VERY small) subset of JavaScript, React, and CSS. It's the lowest common denominator between all platforms. So yes, it's indeed crazy difficult to grasp at first. I found this boilerplate that makes React Native extremely easy to use with web, Android, and iOS: * https://github.com/infinitered/ignite With this, I mostly develop web and then test Android at the end of my work day. Just beware that it's still possible to accidentally write web-only code (for example
will compile on web but not Android) but it's greatly simplified my workflow. Also beware that while the full demo template (PizzaApp) is flawless but bloated, the minimal one is incomplete and a tad buggy (for example the minimal setup won't out-of-the-box compile dev-mode Android due to package.json issues). So, for the first few days, it's advisable you have the full demo open next to the minimal project to get things running properly. After about three days I had a fully working setup, and haven't looked back since.
🌐
Reddit
reddit.com › r/reactnative › should i go with react-native-web or standard react?
r/reactnative on Reddit: Should I go with react-native-web or standard react?
February 21, 2020 -

Hello!

I am building a project using React Native and I absolutely love it. Now that the mobile application is out of beta, we are going to build the desktop web application which will be used more than the mobile app for many users. This project needs to be "production level" and highly scalable.

I have started to look into react-native-web as a way of implementing the web version, but I am starting to have concerns. It seems as if many normal things you might do on web, aren't possible, or are difficult/overly complex. Even something as simple as setting 'fixed' positioning or using media queries is not easy. Or something far more complex like "drag and drop to upload".

We are using redux (actually redux-toolkit) for our data store so we would still be able to share that across web/mobile. This would still be a huge benefit of using react across both projects.

Also, most of our web components will be different from the mobile versions. I'm sure there will be cases where we want to share components, but far less than 50% of the time because we are designing for each platform independently.

What do you think? Do you have extensive experience with react-native-web? What are its limitations compared with a standard react web app?

- Sam

Find elsewhere
🌐
Reddit
reddit.com › r/reactnative › next js or react native for web version?
r/reactnative on Reddit: Next JS or React Native for web version?
December 4, 2023 -

Hello there,

So I'm trying to build a mobile app which also has a web app version but I'm conflicted on which route to go.

I'm a beginner in react-native so I don't have much experience. My main concern is the layout for mobile and web, since it defers and how well the native browser experience will be like. Should I just go with separate react stacks for each? Next JS for the web and react-native for cross platform mobile dev?

Sorry if this isn't clear enough, feel free to ask me more questions. Thank you for your time!

Top answer
1 of 4
13
If you are a beginner, I'd highly recommend just having a single react-native/react-native-web codebase. The differences in platforms are easy enough to extract away using platform specific extensions and the Platform.OS api. A couple of hints: Use layout wrappers. For example, maybe you just have one main "style" of screen in your app, but the web style differs from the mobile style. Just make two component called Layout.web.tsx and Layout.native.tsx, apply the various styling there and pass through the children. Then on each screen, you can just do and the layout for web/native will be different, but the actual screen will be the same. Your screen component files should be exactly the same, abstract the platform differences in the Layout component, as well as in the actual component itself. Avoid using platform specific files for minor changes. It's much easier to throw in a Platform.OS === 'web' ? this : that than maintaining two virtually identical files. It leads to forgetting to make changes to one or the other (or making the changes inconsistently). Of course, there are sometimes you'll need to use specific files for each platform. For example, let's say you want to use some table component from npm that only works with React, and you have a different table component for react-native. You would then want to have a Table.web.tsx and Table.native.tsx. You would ideally abstract them so that the usage is exactly the same in whatever screen or component is consuming it.
is better than Platform.OS === 'web' ?
2 of 4
7
Just build your mobile or web app first. You should be able to reuse your api. Do you really need a mobile app? Why not build it in react (whichever flavour be it reactjs, next or vite) and make it responsive.
🌐
Reddit
reddit.com › r/reactjs › should i convert react native to web app or what are my options?
r/reactjs on Reddit: Should I convert react native to web app or what are my options?
August 1, 2023 -

I have created a app in react native and the requirement is that it should also support and work web. Now I am not sure how usable react native is on web. It does work on web but I have some challenges.

For example: In react native we use stack navigation to add routes and tab navigation in web how do I handle it. I would like to have a diffrent design in web with the left panel and dashboard. How can I achieve it ?

Should I use react.js and create a separate app for web? What could be the correct approach.

🌐
Reddit
reddit.com › r/reactnative › react native web differences
r/reactnative on Reddit: React Native Web Differences
September 21, 2024 -

i built an app last year with react native but didn't use it for the web, just ios and android. for web I used next js and its been a struggle to match what my react native app can do. so now I'm thinking of using react native web for my site instead. I'm thinking it will be a full rewrite for a number of reasons and I'm looking for advice on how to combine web with native and what gotchas may be lurking in the details

some features of my existing app that may be different between native and web are a drawer menu, google maps, and image upload

Top answer
1 of 2
3
You should 100% try out react-native web. On my side project, and full time job I am working with react-native-web. Now react native web performance is not as good as Next.js, but it's really good tbh. Converting a react native app to a web app can seem like a lot of work. If you have clean code, reusable components, and good architecture in place, you shouldn't need a full rewrite. When I started converting my side project, and full time jobs mobile app to a web application it honestly wasn't bad. I am using Tamagui for my UI which works on web, and mobile, and most libraries are supporting web out of the box now. The hardest part for me was fixing dependency issues. But after a few ours of building, then commenting out code I was able to get my application to run on web. The other hard part is figuring out a design pattern for navigation and such on web. X actually uses react native and expo for there mobile and web application. I followed there navigation(tab bar on mobile, and static sidebar navigation on web), built out a navigation wrapper to handle all app resizing. With just this simple implementation, I was about 70% done in just 2 days. I'll link some articles I have written about these specific topics that you might find helpful(I have a bunch of other articles on expo web you might find useful in the future as well)! https://medium.com/@andrew.chester/creating-responsive-web-and-mobile-designs-with-tamagui-and-expo-553f5c1e01db https://medium.com/@andrew.chester/expo-router-web-best-practices-lessons-from-converting-a-mobile-app-to-web-6c26cb67c8de https://medium.com/@andrew.chester/eas-hosting-with-expo-web-a-developers-take-e638ad5bcdd2
2 of 2
1
Sorry what’s your exact question? When it comes to web, you can think of react native as a UI pack. There’s no particular gotchas
🌐
Reddit
reddit.com › r/reactnative › react-native-web vs separate web repo?
r/reactnative on Reddit: react-native-web vs separate web repo?
April 22, 2023 -

I'd love to hear from folks with experience in making this decision. I understand react-native-web should be a lot less effort. However, mobile apps and web apps are pretty different beasts. I feel like react-native-web is a nice quick win, but with how different layouts - it'd end up slowing development speed in the long run and creating a pretty nasty repo.

That's just my initial assumption and would love arguments both ways

🌐
Reddit
reddit.com › r/reactnative › my team wants to build a web solution with react native web so we don't have to rebuild a rn app after mvp is released. good call?
r/reactnative on Reddit: My team wants to build a web solution with React Native Web so we don't have to rebuild a RN app after MVP is released. Good call?
February 1, 2024 -

Any opinions on this would be appreciated. Essentially just trying to make a good future proof decision. We want to build a web app immediately, but later make it available as a native app. Speed is important for us. But also scalability and not redoing things.

The app is not going to be complicated, it will be mainly contacting a backend service linked to an AI, logging them in and allowing users to view and edit AI generated responses on the client.

We don't have any crazy styling requirements but we are interested in what limitations we might have with React Native Web when it comes to styling and functionality.

I know this project has come a long way in recent years and am excited to leverage it if it's the right tool.

Any thoughts?

Other info:

  • We are thinking to use expo (unless there's a reason not to)

  • Our backend is redwood/gql

  • We want the mobile and web experience to pretty much be the same

🌐
Reddit
reddit.com › r/reactjs › how good or bad is react native for web?
How good or bad is React Native for Web? : r/reactjs
November 1, 2021 - React and React Native, while similar ... main difference is in the core components. React Native has components designed specifically for mobile usage and while some of them are similar to React web components, they are not the same....
🌐
Reddit
reddit.com › r/reactnative › react native for web
r/reactnative on Reddit: React Native for Web
June 21, 2024 -

We are building an app with React Native as a cross platform frontend for Web, iOS and Android. We have both real time and "offline first" features for mobile. Have a few questions reg. that:

[1] Will GraphQL be of any benefit for the "offline first" feature? I mean to say, when the mobile device comes online, will GQL be able to sync the server side DB and mobile DB automatically? I heard that GQL can work as a substitute for WebSockets to provide real time updates, that is why I am asking.

[2] We plan to use MQTT for real time alerts from online devices (may not be mobile) and push to a Kafka cluster. Can GQL be leveraged in such a setup?

[3] Is React Native a good choice for this as we want to maintain a single code base, where a subset of features are deployed depending on the platform. For example, features A, B, X, and Y will be deployed on the web version, and A, B, and C will be deployed on mobile devices.

Thanks in advance for your help.

Top answer
1 of 2
3
Would you please go on chat gpt and copy paste your post? You don’t seem to have experienced devs in your team and thus I believe it will be painful. Anyway: ignore graphql. It s really great but you aren’t in the situation where it would be good for you now. no yes react native is great to have the same codebase for mobile and web. You should only consider alternatives (like flutter) if you have experienced devs that already have a few complex apps running in production. If you want advices: you lack experience, so I would advice you to just experiment technos for fun or learning, not to make a commercially viable app. use expo and go read the official expo documentation again and again and again. mobile dev is painful with no guidance/experience. Building an app compatible android/ios/web is really painful and every bad decision is paid further down the road. Only use libs found in the official expo documentation. If something you need isn’t in the official expo documentation, do your possible to avoid using the external library. If you want to use an external library to make an UI component that you could have done from scratch in 200 lines, you will regret that decision.
2 of 2
1
3. Good 1 & 2, i have no idea. I only thought of an alternative, like you need to create abstract classes/interfaces first, so each platform need to implement that class individually. This approach of course is not a single code base approach kind of thing i would say. But it's still better on the business layer. Just a reminder, Every cross platform framework there is not giving you 100% exactly the same run each platform. You still need to understand each of them. React Native is just React Native, it's a platform agnostic UI library. Although, it's for Android & iOS at the time. Take a look at the react-native-vision-camera, you probably want to use it for a camera in React Native, but the library itself is not a single code base, it's just an abstraction layer for the end user.