How to create react native project - react-native

I'm new to the react native platform. I'd like to create an app with bottom, stack, and drawer navigation.
I'm not sure which navigation is appropriate for the same react navigation (v4, v5, or v6).
I'd also like to make some API calls. Is it necessary to use redux for this?
Is it better to use React native element or react native paper for ui design?
Please, someone assist me with this.

This doesn't seems to be an appropriate question to ask here, you can go through their official documentations, some courses maybe to learn react-native and its best practices. As for the questions you have asked, since you are learning react native now,
Go with the latest navigation (v6)
It's always a good practice to use redux for api calls.
For UI, you can go with any library that suites your purpose, it does not have to be one, you can use multiple, based on what you want to achieve.

Related

Is there a way to turn an app into a website in React Native?

I built an application in React, is there a way that the same code will be used for a website?
I know Instagram is built on React and it also has a website, I wonder maybe you should add some link or something that it will open for me as a website?
Or maybe there is no such way and I have to build a website separately?
First off all, If you have written any code which is related to native functionality, then it can be challenging.
If you have only worked with views, images, and some of the basic functionality.
It can be done with react-native-web you can easily migrate your project to react-native-web.
If you project is created with expo they already provide react-native-web support.
Option 2: If you have some of the code you want to share and some is that you don't want to share or can't share.
You can use renderProp or customHooks pattern to reuse your logical code and seperate your view for react-native and react js apps.
If you want to reuse your views too, you can do those with primitives.
you can use styled-component primitives for that.
https://medium.com/react-native-training/sharing-code-between-react-web-and-react-native-applications-7f451af26378
You can get some idea here as well.

Recommendation needed for drawer in react-native-navigation

This is my first attempt in react-native project, Does react-native-navigation have drawer inbuild? If so please share the documentation link please? Am confused to use react-navigation or react-native-navigation.
My requirement is all about navigation, drawer, tabber for screens.
Note: I need a native navigation to attract the users.
I used react-native-router-flux which have not much documentation but have quite good answers for all the workarounds. Also its not maintained now. SO indeed to select a new one.
For your first question, I should say that I always use react-Navigation and I like it. To hightlight one of my reasons I should say that "Being a JS-based navigator allows React Navigation to integrate smoothly with any of the third-party libraries, while RNN may suffer from libraries that are tightly coupled with native platforms or need to be wrapped around the whole app." You can check this link:
https://blog.logrocket.com/react-navigation-vs-react-native-navigation-which-is-right-for-you-3d47c1cd1d63/
For the drawer, I highly recommended this one, because it give you any option that you want and it is working perfectly on both iOS and android for me, while others always make troubles for me in one of mentioned platforms.
https://github.com/GeekyAnts/NativeBase-KitchenSink
Also if you want other elements and tools with a good performance, check this link:
https://react-native-training.github.io/react-native-elements/docs/overview.html
I hope I could help you.

Is there any new good source for navigation in react-native?

I am new in react-native and I have many problems in using navigation libraries and their options. I tried to use Wix v1, Wix v2 and react-navigation but in each of them I had a lot of errors and it took me a lot of time.I could overcome some of them but not completely. It made me frustrated. Because I cannot make progress without navigation, please someone save my life and introduce me some new documentation or give me some advices on this. For example I have tried react-navigation and I built a project with react-native version 0.58 and I did like Facebook documentation but I got the error navigation has deprecated!.
React Navigation isn't your only option for routing and navigation in React Native.
The best libraries for navigations which I personally prefer are :
react-native-router-flux: this library is very popular and best in market which is based on React Navigation & provides you with a different API's to interact with it. Documentation
react-native-navigation: uses the underlying native APIs on iOS and Android, this is a popular alternative to React Navigation which you already tried. Documentation
You can also read a detailed article on medium here which compares different navigation libraries and features and other aspects.
Also you can check other questions raised by react-native enthusiasts.
Most popular and stable react native navigation lib is react-navigation. Anyway there are few Alternatives
Native Navigation
react-native-router-flux
react-native-navigation
react-router-native
The decision is up to you

react-native-navigation with context api (react 16.3)

has anybody being able to use the new Context API introduce in react 16.3 with react-native-navigation?
I'm having trouble trying to set it up as with react-native-navigation there is no main component where i can manage a state and then render the Context.Provider components, just the Navigation.startSingleScreenApp or similar functions.
Tks in advance for any help you can provide
Environment
React Native Navigation version: 1.1.403
React Native version: 0.55.4
Platform(s): iOS
Device info : Simulator
Please update your question with the simplest code example that shows your problem.
Generally, you can wrap your for example outside or inside whatever is your .
Maybe see this guide https://medium.com/#505aaron/a-practical-react-native-problem-solved-with-the-context-api-eecaf2e05202 for a simple enough example that does create a custom Context Provider/Consumer pair that also has its own state.
react-native-navigation with Context API is not possible. there are some workarounds (https://github.com/wix/react-native-navigation/issues/3549#issuecomment-411800487) but it is not the real React Context API behavior. (https://github.com/wix/react-native-navigation/issues/3549#issuecomment-427603125)

Which React Native app navigation option to take if I start coding today?

Navigation Experimental, Navigator, Flux-style Navigation etc. etc. There are so many theories and options out there. I know, this is a question with a very high "it depends" potential. But maybe some of you have already figured out an absolute favourite option to handle navigation for react native apps.
I'm a redux user and use https://github.com/aksonov/react-native-router-flux/ . You can integrate it with redux. React-native-router-flux is also usable without Redux.
The advantage is that the Navigation API doesn't change as much as React-native's does. There is also pretty good community support.
If you start application you can use this starter kit https://github.com/infinitered/ignite. This starter kit contain redux and React-native-router-flux. And more
features (Battle Tested, redux persist, ...)