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

517
Visualizações
¿Cómo reescribiría esto sin una función de flecha (función regular)?

No soy tan bueno con las funciones de flecha y me gustaría practicar cambiando de función de flecha a función normal. Esto está dentro de React.

 function render() { const todoItems = this.state.todos.map( item => <TodoItem key={item.id} item={item} handleChange={this.handleChange} /> );
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Argumentos de flecha

Hay algunas formas generales de funciones de flecha.

  • arg1 => es estrictamente para un argumento
  • (arg1, arg2) => más de un argumento, entre paréntesis.
  • () => sin argumentos también requiere paréntesis

Llaves de flecha

Al otro lado de la flecha, hay otras 2 formas:

  • => value devuelve valor (o el resultado de una expresión)
  • => {someStatements;} no devuelve nada implícitamente.

Convertir a function()

Al convertir a funciones, siga esta tabla:

  • arg1 => se convierte en function(arg1)
  • (arg1, arg2) => se convierte en function(arg1, arg2)
  • => value se convierte en function(args) { return value }
  • => { someStatements;} se convierte en function(args) { someStatements;}

this : diferente para las funciones de flecha

Por último, una diferencia sutil pero importante. Las funciones de flecha usan this desde sus contenedores. Las funciones declaradas con la palabra clave function siempre tienen su propio this .

Poniendolo todo junto

Entonces, en este caso particular, dado todos.map(item => <Component />) , la función es item => <Component /> y trabajando hacia atrás desde la tabla anterior podemos ver que esto es equivalente a la función function(item) { return <Component />; }

La línea completa se ve así:

 const outerThis = this; //save with a different name so we can access within function const todoItems = this.state.todos.map( function(item) { return <TodoItem key={item.id} item={item} handleChange={outerThis.handleChange}/> } )

Consulte también Expresión de la función de flecha en MDN , donde puede leer sobre algunas otras advertencias de la función de flecha (como sin arguments , new , prototype o yield ) y this operador .

about 4 years ago · Juan Pablo Isaza Relatório

0

Si desea transformar una función de flecha en una función normal, siga este código:

 const todoItems = this.state.todos.map(handleMap) function handleMap(item) { return <TodoItem key={item.id} item={item} handleChange={this.handleChange}/> }

Pero recomiendo usar componentes de función y ganchos React. Lea este artículo: https://reactjs.org/docs/hooks-intro.html

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