I'm a react developer and I would like to learn backend (MERN stack). Before I learn Node, Express and Mongo DB (backend) which I can use with react (front-end) I explored Next JS a little bit(very little). I got to know Next JS is great and we can build the back-end in the Next JS app itself, I have a couple of questions here.
Let's say if I build a backend with Express and MongoDB to use in my React project, I can very well use the same backend to build my mobile app using the react-native app. However, if I use Next JS and build a backend within the same app then how can I use this backend built inside Next JS within my React-Native app?
Can I use already existing API like weather API/ currency converter API inside my Next JS app?
Sorry if this question is too silly.
Yes! you could build your App's backend in Nextjs itself.
Nextjs uses file-based routing. So, any file inside the folder pages/api is mapped to /api/* and will be treated as an API endpoint.
For example, when you create a file 'people.js' inside folder 'pages/api', it will be treated as an endpoint and you could access the endpoint by calling your_domain.com/api/people
Also, you can use external APIs in your app just like you do in other react apps.
Related
Currently we are building an app with react-native and fetching data such as login/signup etc handled within X-sdk we built.
Basically, what X-sdk is a middleware/api fetcher that communicates with back-end api and gets data for us.
To make app-development more simpler we handled token storing in the sdk using react-native/async-storage dependency. The issue is it is failing when we integrate sdk with web-app since it is not compatible with web-apps.
Is there any way to store the token locally for both app(react-native) and web-app.
react-native/async-storage dependency apply only react native if you want to use hlocalstorage
I have to create an application where users will have their unique usernames and profiles like "website.com/JohnDoe". for that the client asked me to develop it in any good PHP framework and client also need an android/ios app (which he disclosed after 2nd meeting) . so I was(before 2nd meeting) going to use Laravel totally. but since he said he wanted a mobile app too, so I decided to use Laravel as backend API, for Web frontend I will use Reactjs and for Mobile I would use ReactNative ( I've done same before). since Laravel provides react support so my I was planning to use React within the laravel.
Then client said he is more concern about SEO of his website. so I had two options
Use laravel as API provider only. and create ReactJS app totally separate from Laravel.
In this case I will need Nodejs server. Then I thought If I have a nodejs server than why would I go for laravel, I could use Express.
Use ReactJS within laravel and use any SSR package to cope with ssr.
If I am going for second option, can anyone point me to already live website which uses React Helmet SSR or Laravel-react-ssr?
Laravel react-ssr: https://github.com/spatie/laravel-server-side-rendering
React Helmet-ssr: https://github.com/nfl/react-helmet#server-usage
I have read both, and I am too confused. I am beginner in both Laravel and React(node) so I am unable to understand what both are proposing.
i deployed your 2 option mentioned let me give you the site https://v3.topviewnyc.com/, i created a microservice which would take care of SSR besides my hooks and components are build on react so am totally able of enjoy the SPA frontend side with react using components and get data via laravels API
I've already built a create react app. I'm currently learning back-end development, and I was wondering how do I separated the scripts that are to run from the server from the scripts that run from the client? My app is currently deployed on heroku.
React js is a UI toolkit and does not have the ability to do server-side processing. If you want to add back-end functionality to your react app, you can build it separately in form of a REST API. (You can use nodejs, python, java etc. whichever suits your application)
You have to make API calls from your react app to receive and send data from front-end to back-end and vice versa.
So I got reactJs as frontend and Laravel as backend.In local laravel is running on a t.test domain and reactJs is running on localhost:3000 but I want to deploy them now on the same domain on a sharing host.So how can I set this up?Putting laravel in the react or putting reactJs in public folder of laravel will that work?
Since reactJS is frontend and Laravel is Backend, you simply have to put react in the front line. so in an example, if you have mydomain.com react can run there directly and then you can let Laravel run on a seperate location. example backendservice.mydomain.com.
then configure your url calls from react to the laravel backend.
That is it. you do not need to put them all together. I personally advise you to kep them seperate.
That way, versioning in the future could have a version 1.0 backend and version 2.5 frontend (basically, it becomes simple)
Here is a reference you could use. https://developer.okta.com/blog/2018/12/06/crud-app-laravel-react
I hope I was clear enough. if not, am willing to clarify further.
I have created react-js app using create-react-app tool
And I have .net core web API
When ever I'm calling web api i have to do something like
fetch('localhost://7000/api/something') each time
I want to avoid the repetitive use of 'localhost://7000'
So Is there any way to configure react js app
So that I can avoid this localhost string in every file whenever I'm utilizing web api?
For fetch, it accepts absolute url and relative url. But for relative url, it is according the base url for hosting create-react-app.
For a workaround, you may try define a variable to store the localhost://7000 and then reference it from fetch.