Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

95
Visualizações
simple llamada repetida de matriz en mecanografiado de reaccionar no funciona en 1 caso de 3 casos similares

Hola, estoy codificando aplicaciones de tareas sencillas con react.js/typescript. estoy atascado llamando repetidamente a todos

Podría llamar a todo en 1) y 3) pero NO PUEDO llamar a 2) .

cual es la diferencia. ¿Quizás mi tipo de interfaz falla en todo.type.tsx ?

  1. <TodoListItem todo={todos[0]} />
  2. {todos.map(todo=> { <TodoListItem todo={todo} /> })}
  3. {todos.map(todo => (<li>{todo.text} - {todo.email2}</li> ))}

o mi llamada Props2 en todo.tsx es mala?

React.FC<Props2> = ({ todo })

esto es mostrado

 ==== ( localhost:9000 rendering shows this ) ====== text1"[shown in TodoListItem]"contato@gabrielrufino.com text1 - contato@gabrielrufino.com text2 - darthvader@starwars.com

src/páginas/index.tsx

 import { TodoListItem } from '../components/todo'; export default function IndexPage(){ const [todos, setTods] = useState<Todo[]>([ { text: 'todo1', email2: 'contato@gabrielrufino.com' }, { text: "todo2", email2: 'darthvader@starwars.com' } ]) return ( <Layout> <TodoListItem todo={todos[0]} /> // ★I can call (★1) <ul> {todos.map(todo=> { <TodoListItem todo={todo} /> // ★I CANT call (★2) })} </ul> <ul> {todos.map(todo => ( <li>{todo.text} - {todo.email2}</li> // ★I can call (★3) ))} </ul> </Layout> ) }

src/modelo/todo.type.tsx

 interface Todo { text: string; email2: string; } interface Props2 { todo: Todo; }

src/components/todo.tsx

 import React, { FC } from 'react'; export const TodoListItem: React.FC<Props2> = ({ todo }) => { return ( <li> {todo.text} <br> "shown in TodoListItem" </br> {todo.email2} </li> ); };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El problema era que no regresaba en absoluto.

Probar

 <ul> {todos.map((todo: Todo) => ( <TodoListItem todo={todo} /> ))} </ul>

o

 <ul> {todos.map(todo=> { return <TodoListItem todo={todo} /> })} </ul>

en vez de

 <ul> {todos.map(todo=> { <TodoListItem todo={todo} /> // ★I CANT call (★2) })} </ul>

Caja de arena de código => https://codesandbox.io/s/nervous-bartik-vl8hs

about 4 years ago · Juan Pablo Isaza Relatório

0

Ha cometido un error de horquillado . Para cualquier función en JS/TS, () significa regresar (ni siquiera tiene que usar la palabra clave return ), mientras que {} significa simplemente ejecutar la función

En su archivo index.tsx :

 import { TodoListItem } from '../components/todo'; export default function IndexPage(){ const [todos, setTods] = useState<Todo[]>([ { text: 'todo1', email2: 'contato@gabrielrufino.com' }, { text: "todo2", email2: 'darthvader@starwars.com' } ]) return ( <Layout> <TodoListItem todo={todos[0]} /> // ★I can call (★1) //Here, inside the map function you have used "{}" instead of "()" so the map function is simply iterating and not returning anything. <ul> {todos.map(todo=> { <TodoListItem todo={todo} /> // ★I CANT call (★2) })} </ul> <ul> {todos.map(todo => ( <li>{todo.text} - {todo.email2}</li> // ★I can call (★3) ))} </ul> </Layout> ) }

Las soluciones para esto podrían ser

 <ul> {todos.map((todo: Todo) => ( <TodoListItem todo={todo} /> ))} </ul>

o

 <ul> {todos.map(todo=> { return <TodoListItem todo={todo} /> })} </ul>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda