<?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: Paulo Alenquer</title>
    <description>The latest articles on DEV Community by Paulo Alenquer (@palenquer).</description>
    <link>https://dev.to/palenquer</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%2F626810%2F5a39bf97-8c49-4b05-aebd-2c2eb44ec727.jpg</url>
      <title>DEV Community: Paulo Alenquer</title>
      <link>https://dev.to/palenquer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/palenquer"/>
    <language>en</language>
    <item>
      <title>How to useEffect()</title>
      <dc:creator>Paulo Alenquer</dc:creator>
      <pubDate>Sat, 17 Jul 2021 20:56:04 +0000</pubDate>
      <link>https://dev.to/palenquer/how-to-useeffect-1dnl</link>
      <guid>https://dev.to/palenquer/how-to-useeffect-1dnl</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;What is useEffect and what exactly this hook does?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm going to teach you (or at least try) these topics here in this post.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is useEffect?
&lt;/h1&gt;

&lt;p&gt;useEffect is a hook from React that receives two parameters. The first one is a &lt;strong&gt;function&lt;/strong&gt; and the second one is a &lt;strong&gt;dependency array&lt;/strong&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  What this hook does?
&lt;/h1&gt;

&lt;p&gt;There's a lot of things that you can do with this hook like trigger a function when your component is mounted or when a variable is updated. Look at this example:&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="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//first parameter&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="cm"&gt;/*second parameter*/&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first parameter is the function that will execute your code and the second parameter is when we want to execute this code. For example, with second parameter you can put all variables that you want and when these variables receives an update, useEffect will trigger the function.&lt;/p&gt;

&lt;p&gt;If you want to trigger the function when your component mount, you just need to leave the array empty.&lt;/p&gt;

&lt;p&gt;That's it! Now you can do what we want with useEffect. You can even make api requests with fetch.&lt;/p&gt;

&lt;p&gt;Thanks for reading. Feel free to comment anything or correct me if I'm wrong.&lt;/p&gt;

</description>
      <category>react</category>
      <category>tutorial</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Aqui está um tutorial de useState (ou quase)</title>
      <dc:creator>Paulo Alenquer</dc:creator>
      <pubDate>Sun, 09 May 2021 22:12:24 +0000</pubDate>
      <link>https://dev.to/palenquer/aqui-esta-um-tutorial-de-usestate-ou-quase-1m3j</link>
      <guid>https://dev.to/palenquer/aqui-esta-um-tutorial-de-usestate-ou-quase-1m3j</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.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%2F8m64nayc4xxagczx92wt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F8m64nayc4xxagczx92wt.png" alt="React Logo" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sempre que alguém se depara com o React pela primeira vez, se assusta com os seus hooks e funcionalidades, não é mesmo? Eu mesmo sinto medo de alguns hooks e já fui dormir chorando várias vezes por conta de alguns deles.&lt;/p&gt;

&lt;p&gt;Mas fica tranquilo que pelo menos o useState eu posso tentar te ensinar de uma forma simples como se você estivesse no ensino fundamental pela primeira vez.&lt;/p&gt;

&lt;p&gt;Em React nós temos vários hooks e um deles é o useState, esse pra mim é o mais simples de entender e aplicar, então vamos ver como que ele funciona.&lt;/p&gt;

&lt;h2&gt;
  
  
  Criando e iniciando o useState
&lt;/h2&gt;

&lt;p&gt;O que é o useState? useState é um hook do React a qual nos retorna um array com dois elementos, sendo o primeiro o nosso estado e o segundo uma função para alterar o nosso estado. Além disso, podemos passar como argumento, um estado inicial para o nosso estado. Não entendeu ainda? relaxa que eu vou te explicar. &lt;em&gt;Veja no exemplo abaixo:&lt;/em&gt;&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aqui nós temos o &lt;code&gt;state&lt;/code&gt; que é o estado, o &lt;code&gt;setState&lt;/code&gt; que é a função para alterar o valor do nosso estado e o &lt;code&gt;useState(0)&lt;/code&gt; que é o valor inicial do nosso estado, nesse caso é o &lt;code&gt;0&lt;/code&gt; (poderia ser qualquer outro valor, como uma &lt;em&gt;string&lt;/em&gt; e &lt;em&gt;boolean&lt;/em&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilizando o useState na prática
&lt;/h2&gt;

&lt;p&gt;Para entender melhor como funciona o useState, precisamos também entende-lo na prática. E pra isso vou mostrar um exemplo de useState para fazer um contador simplezão.&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setCounter&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&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;addCounter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;setCounter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&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="nt"&gt;div&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="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&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="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;addCounter&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Adicionar&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&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="nt"&gt;div&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;p&gt;na linha 4 temos um exemplo de um estado que está recebendo um valor inicial de &lt;code&gt;0&lt;/code&gt;&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="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setCounter&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;e uma função logo abaixo na linha 6 que irá acrescentar &lt;code&gt;1&lt;/code&gt; para nosso estado toda vez que o botão for clicado&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;function&lt;/span&gt; &lt;span class="nf"&gt;addCounter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;setCounter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&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;p&gt;para exibir o estado na tela é só adicionar um &lt;code&gt;{}&lt;/code&gt; no seu HTML com o estado dentro, no exemplo é o h1 (linha 12).&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ao clicar no botão duas vezes automaticamente nosso estado foi exibido na página com o número &lt;code&gt;2&lt;/code&gt;, graças a nossa funçãozinha chamada &lt;code&gt;addCounter&lt;/code&gt; que acrescentou 2 vezes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fnvftcoob73l4u6d30y63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnvftcoob73l4u6d30y63.png" alt="estado counter exibindo contagem acima do botão de acréscimo" width="404" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CONSEGUIMOS, UHUL! criamos um contadorzinho super simples e funcional com o &lt;strong&gt;useState&lt;/strong&gt;! Agora é só praticar com outros exemplos que eu tenho certeza que você vai se sair super bem! ❤️&lt;/p&gt;

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