22. Adicionando o Menu em App.js

diff --git a/src/App.js b/src/App.js
index f2d4206..45f36fa 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,6 +1,10 @@
-import React from 'react';
-import './App.css';
+import React from 'react'
+import './App.css'
+import Menu from './Menu'

-const App = _ => <>Hello Finisher.Tech!</>
+const App = _ =>
+  <>
+    <Menu/>
+  </>

-export default App;
+export default App
3$ git-apply af.diff src/App.js
Mania: evitar "ponto e vírgula", sempre que possível

Alguns anos atrás, depois de codificar algum tempo em CoffeeScript, passei a não gostar, ainda mais, de usar "ponto e vírgula" em códigos. Eu já tinha essa mania desde que comecei a escrever scripts em Bash ("a, long, long time ago" 😌) Então, você verá que os meus códigos, sempre que possível, evitam o uso do "ponto e vírgula".

Após salvar esse código, e ver o reload do React para a aplicação, podemos notar o seguinte aviso:

Compiled with warnings.

./src/Menu.js
  Line 11:6:  Emojis should be wrapped in <span>, have role="img", and have an accessible description with aria-label or aria-labelledby  jsx-a11y/accessible-emoji
Mania: não ignorar avisos para decidir a hora certa de agir

Eu não gosto de ignorar avisos, mesmo os que não me ajudam ou prejudicam em nada, inicialmente. Como base num aviso eu tomo a decisão de agir mais cedo, ou mais tarde.

Com base nesse aviso eu resolvi criar outro componente (a partir do post How to use emojis in React):

Vamos incluí-lo ao projeto:

import React from 'react'

const Emoji = props =>
  <span
    className="emoji"
    role="img"
    aria-label={props.label ? props.label : ""}
    aria-hidden={props.label ? "false" : "true"}
  >
    {props.symbol}
  </span>

export default Emoji
3$ tut-add src/Emoji.js

E alterar o código do Menu, de acordo com o diff a seguir:

diff --git a/src/Menu.js b/src/Menu.js
index 27e7661..fc0c062 100644
--- a/src/Menu.js
+++ b/src/Menu.js
@@ -1,5 +1,6 @@
 import React from 'react'
 import { Navbar, Nav, NavDropdown } from 'react-bootstrap'
+import Emoji from './Emoji'

 const Menu = _ =>
   <Navbar bg="dark" variant="dark" expand="md">
@@ -8,7 +9,7 @@ const Menu = _ =>
     <Navbar.Collapse id="basic-navbar-nav">
       <Nav className="mr-auto">
         <NavDropdown title="Eventos" id="basic-nav-dropdown">
-          <NavDropdown.Item href="#evento-20192611">Corridas de rua premiadas com criptomoedas? Uau! 😃</NavDropdown.Item>
+          <NavDropdown.Item href="#evento-20192611">Corridas de rua premiadas com criptomoedas? Uau! <Emoji symbol="😃"/></NavDropdown.Item>
           <NavDropdown.Item href="#evento-20191010">Inteligência Artificial e Blockchain aplicadas a Bem Estar, Saúde e Esportes</NavDropdown.Item>
         </NavDropdown>
         <Nav.Link href="#sobre">Sobre</Nav.Link>
3$ git-apply ag.diff src/Menu.js