<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Isaque Igor</title>
    <description>The latest articles on DEV Community by Isaque Igor (@isaqueigor).</description>
    <link>https://dev.to/isaqueigor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F333921%2Fbb3143c5-c257-4e5a-8bbe-8ad66ccb5581.jpeg</url>
      <title>DEV Community: Isaque Igor</title>
      <link>https://dev.to/isaqueigor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isaqueigor"/>
    <language>en</language>
    <item>
      <title>Tips for Faster React App</title>
      <dc:creator>Isaque Igor</dc:creator>
      <pubDate>Thu, 18 Aug 2022 18:48:00 +0000</pubDate>
      <link>https://dev.to/isaqueigor/tips-for-faster-react-app-351j</link>
      <guid>https://dev.to/isaqueigor/tips-for-faster-react-app-351j</guid>
      <description>&lt;p&gt;This is a list of tips and techniques you can implement in your React Application for better performance. &lt;/p&gt;

&lt;h2&gt;
  
  
  Virtualization or Windowing
&lt;/h2&gt;

&lt;p&gt;You might occasionally need to show a sizable table or list with many rows. Rendering a large set of data will impact application's performance if we load every single item all at once. This could freeze or crash the browser especially in less powerful devices with more complex layouts.&lt;/p&gt;

&lt;p&gt;In that case, Virtualization, or "windowing" will be a great solution. It's a technique to render only the items that are visible to the user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2xw7fot9exea8998bqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2xw7fot9exea8998bqj.png" alt="Virtualization"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The good news is that you do not have to implement this solution yourself you may use these popular windowing libraries like &lt;strong&gt;&lt;a href="https://github.com/bvaughn/react-window" rel="noopener noreferrer"&gt;react window&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://github.com/bvaughn/react-virtualized" rel="noopener noreferrer"&gt;react virtualized&lt;/a&gt;&lt;/strong&gt; to your advantage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lazy Loading Components
&lt;/h2&gt;

&lt;p&gt;Lazy loading is a great technique for optimizing and speeding up the render time of your application.&lt;br&gt;
The idea of lazy loading is to load a component only when it's needed.&lt;/p&gt;

&lt;p&gt;React comes bundled with the React.lazy API so that you can render a dynamic import as a regular component. So instead&lt;br&gt;
of loading your regular component like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvw7f0tco0kmg36lllpd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvw7f0tco0kmg36lllpd9.png" alt="Normal import"&gt;&lt;/a&gt;&lt;br&gt;
 You can do it like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5uc3djl1h18fmaeb0bt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5uc3djl1h18fmaeb0bt.png" alt="Lazy Loading"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Dependency Optimization
&lt;/h2&gt;

&lt;p&gt;One often overlooked aspect of software development is how much programmers rely on open source libraries and packages&lt;br&gt;
for ready-to-use code.&lt;br&gt;
Sometimes it is a little too much instead of writing code from scratch or even copying and pasting code from one program to another, some programmers still rely on what is called a dependency.&lt;br&gt;
For example, the &lt;code&gt;lodash&lt;/code&gt; library. Let's say we only need three of the 100 methods from the library. Having all extra methods in the final bundle is not optimal.&lt;br&gt;
We may use &lt;code&gt;lodash-webpack-plugin&lt;/code&gt; to remove unused function and customize a build for us, this will produce a smaller build of the library.&lt;br&gt;
It's worth checking how much code you are actually utilizing from dependencies when optimizing the application bundle size also it is a good idea to monitor and remove dependencies that are no longer used.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes the best dependencies is no dependencies at all&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Avoid Unnecessary Component Renders
&lt;/h2&gt;

&lt;p&gt;unnecessary re-rendering react component is a common problem in react. When a component re-renders react will also re-render its child component by default. This will slow the app and make the user frustrated, and no one wants to use an app that is laggy and feel unresponsive.&lt;br&gt;
To prevent this from happening &lt;em&gt;functional components&lt;/em&gt; can use &lt;code&gt;React.memo&lt;/code&gt; to ensure the component is only re-rendered when its props change.&lt;br&gt;
&lt;em&gt;class-based components&lt;/em&gt; can utilize &lt;code&gt;React PureComponent&lt;/code&gt; to get the same effect.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MyComponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;MyComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="cm"&gt;/* render using props */&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Keep state local instead of store
&lt;/h2&gt;

&lt;p&gt;It is easy to get carried away and dumping most of the state of your application to state management libraries. &lt;br&gt;
Keeping the state of the component locally is preferable and will always be faster than using a global store.&lt;/p&gt;

&lt;p&gt;This may not hurt a desktop computer much, but a small mobile device will take an obvious performance hit.&lt;/p&gt;

&lt;p&gt;So, before storing a state to the store always check if it can be avoided.&lt;/p&gt;
&lt;h2&gt;
  
  
  React fragments
&lt;/h2&gt;

&lt;p&gt;React requires a surrounding container for every component. But after the React 16, it is no longer needed because of React Fragments.&lt;br&gt;
Fragments avoid creating an extra unnecessary DOM Node which is good for &lt;strong&gt;memory&lt;/strong&gt;. Every little nodes that we can save adds up easily making our React application cleaner and speedy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Fragment&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChildA&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChildB&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChildC&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Fragment&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I sincerely hope that providing you with this tips on React speed optimization served the objective of this post. You can accomplish amazing feats in terms of the speed of the React app if these tips are correctly put into practice.&lt;/p&gt;

</description>
      <category>performance</category>
      <category>react</category>
    </item>
    <item>
      <title>Writing our own Hooks!</title>
      <dc:creator>Isaque Igor</dc:creator>
      <pubDate>Wed, 19 Aug 2020 14:53:21 +0000</pubDate>
      <link>https://dev.to/isaqueigor/writing-our-own-hooks-4fpd</link>
      <guid>https://dev.to/isaqueigor/writing-our-own-hooks-4fpd</guid>
      <description>&lt;p&gt;The undoubted advantage of React Hooks is how easily we can extract logic fragments into our Hooks. In this post, I will show you how to write your Hooks, what the rules are, and how to make your code better!&lt;br&gt;
But first, Let me show you the real benefits of react Hooks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom hooks are just functions and therefore easier to understand what they do.&lt;/li&gt;
&lt;li&gt;No need to deal with &lt;code&gt;this&lt;/code&gt;. It becomes a pain when binding functions when we need to use an event handler.&lt;/li&gt;
&lt;li&gt;The syntax is much shorter, which means there is less chance of bugs.&lt;/li&gt;
&lt;li&gt;The condition is more detailed. Instead of one big state object, we can have several small hooks and each work with its own state and our components use them all together. This way we avoid merging the new state with the old one and prevent unnecessary overwrites.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Custom React Hook
&lt;/h2&gt;

&lt;p&gt;We follow the same rules for creating our own Hooks as for the built-in ones: each Hook name must begin with "use". Hook is a normal function, and inside it, we can call other functions! Thanks to this, the composition of many Hooks becomes extremely simple and does not require any complicated techniques. These are just the usual functions.&lt;/p&gt;
&lt;h2&gt;
  
  
  usePageTitle
&lt;/h2&gt;

&lt;p&gt;Let's start with something simple: A hook that changes the title of the page to the given one. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OPXX_Vn6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/guexj3hpf6verj1xu0y2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OPXX_Vn6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/guexj3hpf6verj1xu0y2.png" alt="Alt Text" width="802" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's a very simple, not to say naive implementation, but it does the job for sure. How to make your own hook out of it?&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f5NiAfT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0cu28dbge80xei1k8dmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f5NiAfT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0cu28dbge80xei1k8dmd.png" alt="Alt Text" width="774" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then in the component, we will use it like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useDocumentTitle('My React hook');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wow, that was easy, wasn't it? We created a normal function where we call hook and that's it, just like that.&lt;/p&gt;

&lt;p&gt;Let's add something else, like restoring the original title when the component is unmounted:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bOEFO-n2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xxb8mw3yg6gst3dazqr9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bOEFO-n2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xxb8mw3yg6gst3dazqr9.png" alt="Alt Text" width="880" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, in the line marked with number 1, we write the existing one &lt;code&gt;document.title&lt;/code&gt; to the reef. &lt;br&gt;
Then in the second one &lt;code&gt;useEffect&lt;/code&gt; we return the function that will be called only when unmounting the component and set it &lt;code&gt;document.title&lt;/code&gt; to the original value stored in the ref.&lt;/p&gt;

&lt;h2&gt;
  
  
  usePrevious
&lt;/h2&gt;

&lt;p&gt;Sometimes we need information about the previous value of given props. While there was no problem with this in classes, in functional components we have to take care of it ourselves:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MKeiTxkh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nh2ivqfpws54t0evrm98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MKeiTxkh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nh2ivqfpws54t0evrm98.png" alt="Alt Text" width="790" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this case, we create an empty ref (1), return the previous value (2), and then write to the ref a new one (3). This is because it  &lt;code&gt;useEffect&lt;/code&gt; starts asynchronously.&lt;/p&gt;

&lt;p&gt;Most often, however, instead of using it  &lt;code&gt;usePrevious&lt;/code&gt;, we can solve the same problem differently and more simply, by adding a given prop to the dependency table &lt;code&gt;useEffect&lt;/code&gt;. Then React will compare the old and the new value for us!&lt;/p&gt;

&lt;h2&gt;
  
  
  useApi
&lt;/h2&gt;

&lt;p&gt;What if ... We want fetch data from API using Hook? It's easy! Let's take code similar to the one in the Hooks and API article and replace it with our own Hook that we can use in many places in our application. The first approach looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3-BC6f2z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cletqgy5ajaccmmdz45b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3-BC6f2z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cletqgy5ajaccmmdz45b.png" alt="Alt Text" width="880" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see it's not very good yet, but it works pretty well:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KSKLqh0N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/65o9icht5oqj8ua0pv8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KSKLqh0N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/65o9icht5oqj8ua0pv8i.png" alt="Alt Text" width="880" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can improve our Hook in two ways: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, get rid of the logic responsible for retrieving data from the API - that is, it is something completely independent of React. We want to evoke just  &lt;code&gt;getData(…)&lt;/code&gt; that, and not worry about some &lt;code&gt;res.json()&lt;/code&gt; or another similar thing. For example (simplifying):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X57stbEU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h3jisz9by3kwnu6tg37w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X57stbEU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h3jisz9by3kwnu6tg37w.png" alt="Alt Text" width="880" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The second fix&lt;/strong&gt; would be to use &lt;code&gt;useReducer&lt;/code&gt; to get rid of excess code from &lt;code&gt;useEffect&lt;/code&gt; itself:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dI3NzrF1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n866fgb1cdh61l2xhcp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dI3NzrF1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n866fgb1cdh61l2xhcp1.png" alt="Alt Text" width="880" height="868"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The code is much longer, but it also seems more readable to me, because the elements of independent logic have been separated from each other.&lt;/p&gt;

&lt;p&gt;See, making your own React hooks is easier than you think. 😁 &lt;/p&gt;

</description>
      <category>react</category>
      <category>hooks</category>
      <category>javascript</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Trick for React Debugging</title>
      <dc:creator>Isaque Igor</dc:creator>
      <pubDate>Wed, 29 Jul 2020 17:22:26 +0000</pubDate>
      <link>https://dev.to/isaqueigor/trick-for-react-debugging-5f44</link>
      <guid>https://dev.to/isaqueigor/trick-for-react-debugging-5f44</guid>
      <description>&lt;h2&gt;
  
  
  Do you want to see what's actually coming in from the props?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;JSON.stringify()&lt;/strong&gt; creates a JSON string out of the props and you will see everything that's coming in from the routes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzgp1g3ehcyc2v4lsvd6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzgp1g3ehcyc2v4lsvd6p.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The third argument of JSON.stringify(data, replacer, space) is the number of spaces to use for pretty formatting. That means, if you set &lt;strong&gt;4&lt;/strong&gt; as your space parameter, the result would be more indented.&lt;/p&gt;

&lt;p&gt;You will see something like this, on your page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "name": "Isaque Igor",
  "id": 1,
  "email" : "email@email.com",
  "roles": {
      "isDeveloper": true,
      "isAdmin": true
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>react</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
