All Rights ReservedView Non-AMP Version
Preprod IT Forum
  • Homepage
  • Notícias
Notícias

Dicas e boas práticas com react

Faz alguns anos que estou trabalhando com react e, com o passar do tempo, aprendi algumas boas práticas e bons hábitos com meus colegas de trabalho e quero compartilhar neste texto. São pequenos detalhes que me ajudam a escrever um código mais elegante e com uma maior manutenibilidade.
Stateless e Functions

Ao criar um novo componente sempre comece pela forma mais simples:

As melhores notícias de tecnologia B2B
Acompanhe todas as novidades diretamente na sua caixa de entrada

• Uma única função
• Sem o uso de estados (stateless)
Desta forma você reduz a complexidade dos componentes desde a sua criação e facilita a manutenção.
const Username = ({ username }) =>

The looged user is: {username}

Um componente react pode ser apenas uma função quando não interferimos no seu ciclo de vida, ou seja, quando não se usa nenhuma das seguintes funções:
• constructor()
• render()
• setState()
• componentDidCatch()
• componentDidMount()
• componentDidUpdate()
• componentWillUnmount()
• shouldComponentUpdate()

Organize os métodos da sua classe

Adotar um padrão para organizar suas funções dentro de uma classe react é simples. Essa prática facilita a leitura do código dos componentes e também simplifica a navegação em arquivos grandes, assim, é possível prever onde estará cada função.

Você pode adotar o padrão que te deixar mais confortável, minha sugestão é essa:

1. Construtor
2. Métodos do ciclo de vida do react
3. Métodos do componente
4. Render

export default class ExampleComponent extends React.Component {
// 1. contructor
constructor(props) {
}
// Métodos do ciclo de vida do react
componentDidCatch(){
}
// Outros métodos
isAdmin(user){
}
// Render
render() {
return (

{ // Apenas JSX tags evite criar funções dentro do render }

);
}
}

Mesmo sendo um hábito simples ao adotar um padrão devemos ser disciplinados para manter a sua consistência, principalmente quando existem várias pessoas programando no mesmo projeto, esses padrões devem ser documentados e respeitados.

Um componente por arquivo

Evite criar vários componentes no mesmo arquivo, isso facilita quando procuramos por eles no editor de texto, principalmente quando os nomes de ambos são os mesmos.

Use parênteses no método render quando houver mais que uma linha. Muitas vezes tentamos simplificar tanto o código que podemos cair em algumas armadilhas. Quando estamos usando Tags JSX dentro do JavaScript, o código pode ficar esteticamente confuso e isso é muito comum no método render do react.

É possível resolver isso usando parênteses para definir os limites de contextos diferentes.
// Ruim
render() {
return

;
}

// Recomendado
render() {
return (

);
}

// esse também é bom
render() {
const child = ;
return {child};
}

Manter o code base atualizado

É muito trabalhoso manter dependências de um projeto atualizadas, mas quando temos as ferramentas certas isso fica trivial. O Yarn, por exemplo, resolve isso com o comando:

yarn update-interactive

Use keys em listas

Sempre que for usar uma lista utilize keys, elas ajudam a melhorar a performance de renderização do seu componente. Essa recomendação está na documentação básica do react. (https://reactjs.org/docs/lists-and-keys.html)

const listItems = numbers.map((number) =>

  • {number}

);

Conheça e use as ferramentas disponíveis

A grande popularidade do react está diretamente ligada ao seu ecossistema. Existem muitas opções de ferramentas desenvolvidas para aumentar a produtividade para o/a dev.

Abaixo, segue uma lista de ferramentas que são indispensáveis:

• Babel/preset-react
• ES6 + ES7 + ES8
• EsLint
• Flowjs
• Jest + Coverage
• Prettier
• React Dev Tools
• Redux Dev Tools

React StrictMode

Usar o StrictMode é uma forma de encontrar e prevenir problemas potenciais no seu projeto react, ele irá aumentar o número de warnings (avisos) no console alertando sobre:
• Side effects inesperados
• Uso de componentes com ‘unsafe lifecycles’
• Uso de APIs legadas

Conhecer esses avisos prepara a sua aplicação para as próximas versões do react.
import React from ‘react’;
function ExampleApplication() {
return (

);
}
Adotar ou não essas pequenas dicas cabe a você, nenhuma delas é obrigatória, mas acredito que podem ajudar escrever um código melhor.
Você tem alguma outra dica que poderia acrescentar, que tal compartilhar conosco?

*Lúcio Charallo é engenheiro de Software na Pipefy

Next Curso online gratuito treina o desenvolvedor em React »
Previous « Sanjay Brahmawar quer reinventar a Software AG
Share
Published by
Redator
Tags: linguagem de programação
7 anos ago

    Related Post

  • Novos executivos da semana: Uncover, Tech for Humans, Diebold Nixdorf, Unico e mais
  • Se o Brasil não organizar seus dados culturais, outro fará isso por nós, alerta Jorge Brivilati
  • CBYK nomeia Maurício Matsuda como novo CEO

Recent Posts

  • Notícias

83% dos CIOs já adiaram projetos estratégicos por restrições de orçamento

A pressão por controle de custos vem alterando a dinâmica das áreas de tecnologia nas…

7 dias ago
  • Estudos

Fintechs brasileiras captam US$ 2,77 bi em 2025 e entram em nova fase de maturidade

O mercado brasileiro de fintechs passou por uma transformação no perfil dos investimentos em 2025.…

7 dias ago
  • Notícias

Sioux aposta em IA e dados para nova fase de experiências digitais e expande atuação para a Europa

O avanço da inteligência artificial e o uso estratégico de dados vêm transformando a forma…

7 dias ago
  • Artigos

Qual é o risco do desenvolvimento de software com IA?

Por Ramon Ribeiro Quase metade do código produzido por assistentes de inteligência artificial contém vulnerabilidades…

7 dias ago
  • Notícias

Se o Brasil não organizar seus dados culturais, outro fará isso por nós, alerta Jorge Brivilati

Peça a um modelo de inteligência artificial que gere a imagem de uma cidade, sem…

7 dias ago
  • Notícias

Novos executivos da semana: Uncover, Tech for Humans, Diebold Nixdorf, Unico e mais

O IT Forum apresenta, semanalmente, os novos executivos e os principais anúncios de contratações, promoções e mudanças…

7 dias ago
All Rights ReservedView Non-AMP Version
  • L