Nginx Load Balancer with docker has become a fine recipe for managing services in closed systems. Although services like Kubernetes provide container orchestration, sometimes architecturally it could be an overkill. In this example, I will be showing how to use docker services using Nginx load balancer.
Here we are discussing creating react app using npx create-react-app. npx comes with npm 5.2 and higher.
Prerequisite: You need to install Node >= 8.10 on your machine.
Creating an app using npx command
npx create-react-app my-app
create-react-app set up the main structure of the application.
- npx – Execute npm package binaries ( a tool for executing node packages )
npx comes bundled with npm version 5.2+.
If you want to run a package using npm, you must specify that package in your package.json file and install a package locally on a project:
npm install package-name
npx is a npm package runner.
1. React Must Be in Scope
Let’s assume we are creating “helloWorld.jsx” like below, you can see there is a compilation error display as “’React’ must be in scope when using JSX react/react-in-jsx-scope.”
const element = <h1>Hello World!</h1> export default element;
This happens due to “React” import necessary in JSX file.The React library must also always be in scope from JSX code. To overcome this error “import React from “react”;” must be added into the file as follows.
If you are new to firebase and FCM this article will be useful to setup FCM Push Notification with React Native application. We will be using react-native-firebase(doc: https://rnfirebase.io/docs/v5.x.x/getting-started) module to retrieve token for the push notifications.
First, create the Firebase account and download the
google-services.json file from the console.
- Access your firebase account and go to the project settings from the top gear icon.
Read more “How to setup FCM Push Notification with React Native App”
Query definition in GraphQL is will be something you know now but not mastered. If you were going through the pages to troubleshoot frequent errors with Apollo Client which makes no sense, this post might help. First, the reason to create this post is,
- Most of the error logs are not descriptive and makes no clue on where the real error is.
- There can be so many different mistakes in coding the queries and difficulty in keeping on track of it.
And most importantly if I get into a trouble again, I can refer this 😉 Read more “Query definition in GraphQL and frequent errors with Apollo Client”
Recently, I had to create a AWS Lambda trigger for the AWS DynamoDB table events. The tricky part on this thing was to mutate AWS GraphQL using AWS Lambda with this DynamoDB event. The reason was I wanted all the clients which were subscribed to GraphQL to get this event with modified data.
Recently I came up with a react native app which needs to integrate AWS GraphQL. Its actually provided with AWS App Sync and a very convenient way if you want a quick pub-sub. The problem was I had to do mutations as a background asynchronous process and wanted to update the app state from that. When I went through the documents I found the AWSAppSyncClient which is an Apollo Client. Although it was promising the react native examples were more focusing towards react or react-native Components which was really making a mess. Read more “Use AWS GraphQL for React Native Message App”
Recently I got the opportunity to use DatePicker of antd library https://ant.design/components/date-picker/ for a react.js project. It was really cool to use that until I found it was using the whole antd library to import this single antd components. It wasn’t right and there was a solution introduced by the antd team. I just blogged it for anyone who will find it interesting. Read more “How to use antd components without the whole library”
In this post, I would like to share a Modular Approach to create API generated with express.js. The modular approach which discussed here is having a module which can perform each and every task relevant to the API. It has following features. Read more “A Modular Approach to create API using Express.js and Node.js”
There are some instances where you need to debounce and avoid multiple clicks/taps on a button so that it will not generate the same action chain immediately with a consecutive click. An example would be an application with a touchscreen. If you click a button rapidly, that event will be generated more than once. As a solution, most of the time devs would block the UI until the action chain is completed. But this would be a bad experience if the user is blocked for any other interactions. A typical example can be a fetch call to update the state and if the invocation is asynchronous it could be causing more inconvenience.
This guide will take you through on how to use nodemon to build api which is simply to create a web app with node.js + express.js in a babel environment. Often we need to use babel to increase readability of our code. And nodemon was used to watch and re-build the project and serve it consistently. Read more “babel + express.js + node.js + nodemon to build API with hot reloading”
Recently I happened to create a middle panel where different types of components could be rendered on top it. So the idea is, the panel should be a <div> wrapper around the middle content. For this kind of situation, higher order functions with components could come in handy to use. Read more “Higher order component wrappers using React.js and reusable components.”
This guide will simply cover to embed SASS support in React.js project.
First, install node-sass and sass-loader npm packages.
Yarn: yarn add sass-loader --dev yarn add node-sass NPM: npm install node-sass npm install sass-loader --save-dev
Dynamic segments are quite useful for any applications to give a better understanding for the user and for SEO plugins to make the site search engine friendly.
Ember has defined its architecture as data down, actions up manner so that the component hierarchy can be maintained properly. But some simple implementations are there that can be confusing in the action definition.