Protected routes and Authentication with React and Node.js

Protected routes and Authentication with React and Node.js  #reactjs  #react #Nodejs

  • Front-end App ArchitectureI’m a huge fan of the React Boilerplate architecture so I created something similar to organize my code: – /src – └─── containers // React components associated with a Route – | └─── App // The entry point of the application – | └─── AuthPage // Component handling…
  • component={AuthPage} / – Route exact path=”/connect/:provider” component={ConnectPage} / – Route path=”” component={NotFoundPage} / – /Switch – /div – /Router – ); – } – } – – export default App;Creating the Authentication ViewsNow that all our routes are implemented we need the create our views.  –  The way we declared…
  • First of all, let’s create a forms.json file that will handle the creation of the form on each auth structure of the JSON will be like the following (you can see a customBootstrapClass key that is needed in the Input component): – { – “views”: { – “login”: [ -…
  • Here is the flow: – The user clicks on login with FacebookIt redirects him to another page so he can authorize the appOnce authorized, Facebook redirects the user to your app with a code in the URLSend this code to StrapiAt this point, we need to implement only one lifecycle…
  • catch(err = { – }); – } – – redirectUser = (path) = { – the Providers in the AuthPage – To do so, we need a SocialLinkcomponent like the following: – /** – * – * SocialLink – * – */ – – import React from ‘react’; – import…

So I started a side project to create a tiny boilerplate with nothing more than Create React App to implement the authentication flow with Strapi, a Node.js framework with an extensible admin panel…
Continue reading “Protected routes and Authentication with React and Node.js”

Just landed my PR addings docs about code splitting to the @reactjs docs

  • If you’re using Create React App, Next.js, Gatsby, or a similar tool you will have a Webpack setup out of the box to bundle your app.
  • You need to keep an eye on the code you are including in your bundle so that you don’t accidentally make it so large that your app takes a long time to load.
  • When Webpack comes across this syntax, it automatically start code-splitting your app.
  • You want to make sure you choose places that will split bundles evenly, but not be terribly interuptive to the users of your app.
  • Here’s an example of how to setup route-based code splitting into your app using libraries like React Router and React Loadable.

Most React apps will have their files “bundled” using tools like
Webpack or Browserify.
Bundling is the process of following imported files and merging them into a
single file: a “bundle”. This bundle can then be included on a webpage to load
an entire app at once.
Continue reading “Just landed my PR addings docs about code splitting to the @reactjs docs”

Deep dive into observed Components with React.js and FrintJS

  • Higher-order componentThe API of the observe higher-order component (HoC) is quite simple:import React from ‘react’;import { observe } from ‘frint-react’;function MyComponent(props) { return div…/div;}const ObservedComponent = default ObservedComponent;It receives a function (that we called fn above), where you can generate your props that will be ultimately passed to your target…
  • Generating props synchronouslyThe fn function also gives you access to the FrintJS App’s instance:const ObservedComponent = observe(function (app) { // this will be the `props` in MyComponent return {}; })(MyComponent);Since you have access to your app instance, you can also get values from it, including providers:const ObservedComponent = observe(function (app)…
  • Because they have this dynamic nature, the observe HoC gives you access to parent props as an Observable:const ObservedComponent = observe(function (app, props$) { // …})(MyComponent);In addition to your FrintJS App instance (app), there is a second argument props$, which is props passed down to you from the parent Component…
  • But as your application grows, there will be times, when you need to work with multiple Observables and return a single props stream.This is where a helper function called streamProps shipped with frint-react can come handy.If you are an RxJS ninja, you may skip this part =DThe streamProps function will…
  • In that case, you may want to pass some default props to your target component before new values are generated.The streamProps helper function receives an optional first argument, where you can pass your default props:import { streamProps } from ‘frint-react’;const defaultProps = { foo: ‘n/a’, bar: ‘n/a’, baz: ‘n/a’,};const props$…

Our focus in this article will be about using the observe higher-order component, shipped from frint-react package. To make the most out of this, it is advised that you read these previous articles…
Continue reading “Deep dive into observed Components with React.js and FrintJS”

Microservices with Docker, Flask, and React

  • To connect the client to the server, add a method to the class: – – We’ll use Axios to manage the AJAX call: – – You should now have: – – To connect this to Flask, open a new terminal window, navigate to the flask-microservices-users, activate the virtual environment, and…
  • Kill the Create React App server, and then run: – – We still need to call the method, which we can do in the : – – Run the server – via – and then within Chrome DevTools, open the JavaScript Console.
  • What would happen if the AJAX request took longer than expected and the component was mounted before it was complete?
  • Finally, update the method to display the data returned from the AJAX call to the end user: – – Let’s create a new component for the users list.
  • Add a new file to that folder called UsersList.jsx: – – Why did we use a functional component here rather than a class-based component?

If you’re new to React, review the Quick Start and the excellent Why did we build React? blog post. You may also want to step through the Intro to React tutorial to learn more about Babel and Webpack.
Continue reading “Microservices with Docker, Flask, and React”

Easily display PDF files in your #ReactJS application: by @wojtekmaj91 #JavaScript

Easily display PDF files in your #ReactJS application:  by @wojtekmaj91 #JavaScript

  • We strongly recommend to use Node >= 6 and npm >= 5 for faster installation speed and better disk usage.
  • Your project needs to use React 15.5 or later.
  • If you use older version of React, please refer to the table below to find suitable React-PDF version.
  • Add React-PDF to your project by executing .
  • This project wouldn’t be possible without awesome work of Niklas Närhinen who created its initial version and without Mozilla, author of pdf.js.

react-pdf – Easily display PDF files in your React application.
Continue reading “Easily display PDF files in your #ReactJS application: by @wojtekmaj91 #JavaScript”

Leveraging code-splitting in React Apps

  • Code-splitting allows you to split your code into separate bundles which you can load them on demand.
  • Code-splitting actually it allows you to split your code into separate bundles which you can load them on demand.
  • In Asynchronous way, you could do that by import, then calling a function, passing the path to your module, and then it returns a promise, and with the promise, you could actually do whatever you want to do.
  • Create a state that has the AsyncComponent, which is default, which is not a default, and in the componentDidMount, lifecycle method, you could call your component, because you’re passing a function, and then resolve the import actually, to get the module, and set the state to the AsyncComponent, and this basically loads, or this gives you the possibility to load, or to render the module as it’s there.
  • So there’s some useful patterns about code-splitting, which is when you start to improve your performance or pitch speed, you should definitely consider vendors, like longterm caching, it’s like split your bundle, or, put your common modules together into one, and like it renders, and your other modules into your separate views.

Code-splitting allows you to split your code into separate bundles which you can load them on demand. How do you do it? Why is it useful? How would you do it in React? Answers to these questions and more in the talk.
Continue reading “Leveraging code-splitting in React Apps”

intro-to-react/ at master · ericvicenti/intro-to-react · GitHub

  • We can modify our component to display the data being passed in:

    Near the top of the file, lets add some different places that we might want to display weather for:

    Now, upgrade the App’s render function to iterate over each place, and render a tag for it.

  • We want our app to be able to switch between places, so we can use state to keep that data in our App component.
  • Let’s use the and in our App component:

    At this point, your file should look like this.

  • Let’s install it, alongside which provides the React components for it:

    In the top of the app file, import the css from the bootstrap module:

    Next, import the components we want to use from .

  • Now, replace the App component’s render function to use the bootstrap components:

    Now our app is starting to look more polished, but it would be nice to have a custom theme.

intro-to-react – A Hands-On Walkthrough of your first React Web App
Continue reading “intro-to-react/ at master · ericvicenti/intro-to-react · GitHub”