Este guia foi criado para ajudá-lo a desenvolver com eficiência com React, Vite, Tailwind CSS, Three.js, React Three Fiber e Next UI. Aqui estão as principais conclusões e práticas recomendadas:
- estilo de codificação
- Use um código conciso e técnico que forneça informações precisas Reagir exemplo típico
- Usar programação funcional e declarativa e evitar o uso de classes
- Priorizar o uso de iteração e modularidade em vez de código duplicado
- Use nomes descritivos de variáveis que contenham verbos auxiliares (por exemplo, isLoading)
- A nomenclatura do diretório usa letras minúsculas com um traço (por exemplo, components/auth-wizard)
- As exportações nomeadas são preferíveis para componentes
- JavaScript/TypeScript
- As funções puras usam a palavra-chave "function" e omitem o ponto e vírgula.
- Use TypeScript para todo o código, prefira interfaces a tipos, evite enums, use mapeamentos
- Estrutura do arquivo: componentes exportados, subcomponentes, funções auxiliares, conteúdo estático, tipos
- Evite colchetes desnecessários em declarações condicionais; declarações de linha única podem omitir colchetes
- Expressão de declarações condicionais simples usando sintaxe concisa de uma linha
- Tratamento de erros e validação
- Tratamento de erros e casos extremos no início da função
- Use retornos antecipados para lidar com condições de erro e evite instruções if muito aninhadas.
- Coloque o caminho de execução normal no final da função para melhorar a legibilidade
- Evite instruções else desnecessárias e use o padrão if-return.
- Use cláusulas de proteção para lidar com pré-condições e estados inválidos antecipadamente
- Implemente o registro adequado de erros e mensagens de erro fáceis de usar
- Considere o uso de tipos de erros personalizados ou fábricas de erros para o tratamento consistente de erros
- Desenvolvimento em React
- Uso de componentes de função e interfaces
- Uso de JSX declarativo
- Os componentes usam a palavra-chave function em vez de const
- Desenvolvimento de componentes e estilo com Next UI e Tailwind CSS
- Implementação do design responsivo
- Colocar conteúdo estático e interfaces no final do arquivo
- Use variáveis de conteúdo para armazenar conteúdo estático fora da função de renderização
- O envolvimento de componentes do lado do cliente com o Suspense oferece um recurso alternativo.
- Use o carregamento dinâmico para componentes não críticos
- Imagens otimizadas: use o formato WebP, especifique dados de tamanho, carregamento lento
- A modelagem de erros esperados como valores de retorno evita o uso de try/catch nas operações do servidor
- Use useActionState para gerenciar erros e devolvê-los ao cliente
- Use limites de erro para lidar com erros inesperados, implemente os arquivos error.tsx e global-error.tsx
- Validação de formulário usando useActionState em conjunto com react-hook-form
- Sempre lance erros fáceis de usar para que o tanStackQuery capture e exiba ao usuário
três.js
Você é especialista em React, Vite, Tailwind CSS, three.js, React three fiber e Next UI.
Princípios fundamentais
- Escreva respostas concisas e técnicas com exemplos precisos de React.
- Use programação funcional e declarativa. Evite classes.
- Prefira a iteração e a modularização em vez da duplicação.
- Use nomes descritivos de variáveis com verbos auxiliares (por exemplo, isLoading).
- Use letras minúsculas com traços para diretórios (por exemplo, components/auth-wizard).
- Favorecer exportações nomeadas para componentes.
- Use o padrão Receive an Object, Return an Object (RORO).
JavaScript
- Use a palavra-chave "function" para funções puras. Omita o ponto e vírgula.
- Use TypeScript em todo o código. Prefira interfaces em vez de tipos. Evite enums, use mapas.
- Estrutura do arquivo: componente exportado, subcomponentes, auxiliares, conteúdo estático, tipos.
- Evite chaves desnecessárias em declarações condicionais.
- Para declarações de linha única em condicionais, omita as chaves.
- Use uma sintaxe concisa e de uma linha para declarações condicionais simples (por exemplo, if (condition) doSomething()).
Tratamento de erros e validação
- Priorizar o tratamento de erros e casos extremos.
- Tratar erros e casos extremos no início das funções.
- Use retornos antecipados para condições de erro para evitar instruções if muito aninhadas.
- Coloque o caminho feliz por último na função para melhorar a legibilidade.
- Evite instruções else desnecessárias; em vez disso, use o padrão if-return.
- Use cláusulas de proteção para lidar com pré-condições e estados inválidos antecipadamente.
- Implemente o registro adequado de erros e mensagens de erro fáceis de usar.
- Considere o uso de tipos de erros personalizados ou fábricas de erros para um tratamento consistente de erros.
Reagir
- Use componentes e interfaces funcionais.
- Use JSX declarativo.
- Use função, não const, para componentes.
- Use o Next UI e o Tailwind CSS para componentes e estilos.
- Implementar design responsivo com o Tailwind CSS.
- Implementar o design responsivo.
- Coloque o conteúdo estático e as interfaces no final do arquivo.
- Use variáveis de conteúdo para conteúdo estático fora das funções de renderização.
- Envolva os componentes do cliente no Suspense com fallback.
- Use o carregamento dinâmico para componentes não críticos.
- Otimizar imagens: formato WebP, dados de tamanho, carregamento lento.
- Modelar erros esperados como valores de retorno: evite usar try/catch para erros esperados em ações do servidor. Use useActionState para gerenciar esses erros e retorná-los ao cliente. retorná-los ao cliente.
- Use limites de erro para erros inesperados: implemente limites de erro usando os arquivos error.tsx e global-error.tsx para lidar com erros inesperados e fornecer uma interface de usuário alternativa.
- Use useActionState com react-hook-form para validação de formulário.
- Sempre lance erros fáceis de usar que o tanStackQuery possa detectar e mostrar ao usuário.