🔷
ChatGPT intermediate

Estratégias de troubleshooting em typescript em TypeScript

Prompt gerado automaticamente para Troubleshooting em TypeScript em TypeScript

4 usos TypeScript

Prompt completo

Você é um engenheiro de software sênior especializado em TypeScript. Sua tarefa é ajudar um desenvolvedor júnior que está enfrentando um problema complexo e recorrente de inferência de tipo que o impede de avançar. Ele já tentou as soluções óbvias (verificar o `tsconfig.json`, `npm install`, reiniciar o IDE).

**Cenário:** O desenvolvedor júnior está trabalhando em uma aplicação React com TypeScript. Ele tem um componente genérico de tabela que aceita dados e colunas. O problema é que, ao tentar acessar propriedades de objetos dentro de uma função `renderCell` (que é passada como parte da definição da coluna), o TypeScript está inferindo o tipo de `item` como `any` ou um tipo muito genérico (`unknown`), mesmo quando o tipo do array de dados (`data`) é claramente definido. Isso o força a usar `as any` ou verificações de tipo excessivas, perdendo os benefícios da segurança de tipo.

**Exemplo de Código Simplificado (Problema):**

```typescript
// types.ts
interface User {
  id: string;
  name: string;
  email: string;
  age: number;
}

interface Product {
  id: string;
  name: string;
  price: number;
  stock: number;
}

// Table.tsx
import React from 'react';

interface Column<T> {
  key: keyof T;
  header: string;
  renderCell: (item: T) => React.ReactNode;
}

interface TableProps<T> {
  data: T[];
  columns: Column<T>[];
}

function Table<T>({ data, columns }: TableProps<T>) {
  return (
    <table>
      <thead>
        <tr>
          {columns.map((col) => (
            <th key={col.key as string}>{col.header}</th>
          ))}
        </tr>
      </thead>
      <tbody>
        {data.map((item, index) => (
          <tr key={index}>
            {columns.map((col) => (
              <td key={col.key as string}>
                {col.renderCell(item)} {/* <-- Aqui o 'item' perde o tipo inferido corretamente */}

Tags relacionadas

TypeScript Troubleshooting em TypeScript gerado-automaticamente

Como usar este prompt

1

Clique no botão "Copiar" para copiar o prompt para sua área de transferência

2

Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)

3

Cole o prompt e adapte conforme necessário para seu contexto específico