Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Projeto] Erro

Compilado com problemas: × ERRO props.aoColaboradorCadastrado não é uma função TypeError: props.aoColaboradorCadastrado não é uma função na aoSalvar (http://localhost:3000/static/js/bundle.js:410:11) em HTMLUnknownElement.callCallback (http://localhost:3000/static/js/bundle.js:11208:18) em Object.invokeGuardedCallbackDev (http://localhost:3000/static/js/bundle.js:11252:20) em invokeGuardedCallback (http://localhost:3000/static/js/bundle.js:11309:35) em invokeGuardedCallbackAndCatchFirstError (http://localhost:3000/static/js/bundle.js:11323:29) em executeDispatch (http://localhost:3000/static/js/bundle.js:15467:7) em processDispatchQueueItemsInOrder (http://localhost:3000/static/js/bundle.js:15493:11) em processDispatchQueue (http://localhost:3000/static/js/bundle.js:15504:9) em dispatchEventsForPlugins (http://localhost:3000/static/js/bundle.js:15513:7) na http://localhost:3000/static/js/bundle.js:15673:16 ERRO

import { useState } from 'react';
import Banner from './componentes/Banner';
import Formulario from './componentes/Formulario';

function App() {

  const [colaboradores, setColaboradores] = useState([])

  const aoNovoColaboradorAdicionado = (colaborador) => {
    console.log(colaborador)
    setColaboradores([...colaboradores, colaborador])

  }

  return (
    <div className="App">
      <Banner />
      <Formulario aoColoboradorCadastrado={colaborador => aoNovoColaboradorAdicionado(colaborador)}/>
    </div>
  );
}

export default App;
import Botao from '../Botao'
import CampoTexto from '../CampoTexto'
import ListaSuspensa from '../ListaSuspensa'
import './Formulario.css'
import { useState } from 'react'
const Formulario = (props) => {


    const times =[
        'Programação',
        'Front-End',
        'Data Science',
        'Devops',
        'Ux e Design',
        'Mobile',
        'Inovação e Gestão'
    ]

    const [nome, setNome] = useState('')
    const [cargo, setCargo] = useState('')
    const [imagem, setImagem] = useState('')
    const [time, setTime] = useState('')

    const aoSalvar = (evento) => {
        evento.preventDefault()
        props.aoColaboradorCadastrado({
            nome,
            cargo,
            imagem,
            time
        })


    }

    return (
        <section className="formulario">
            <form onSubmit={aoSalvar}>
                <h2>Preencha os dados para criar o card do colaborador</h2>
                <CampoTexto
                    obrigatorio={true} 
                    label="Nome"
                    placeholder="Digite seu nome"
                    valor={nome}
                    aoAlterado={valor => setNome(valor)}
                  />
                <CampoTexto
                    obrigatorio={true}
                    label="Cargo"
                    placeholder="Digite seu cargo"
                    valor={cargo}
                    aoAlterado={valor => setCargo(valor)}
                   />
                <CampoTexto
                    label="Imagem"
                    placeholder="Digite o endereço da imagem"
                    valor={imagem}
                    aoAlterado={valor => setImagem(valor)}
                  />
                 <ListaSuspensa 
                    obrigatorio={true} 
                    label="Time"
                    itens={times}  
                    valor={time}
                    aoAlterado={valor => setTime(valor)} 
                    />   
                    <Botao>
                        Criar Card
                    </Botao>

            </form>
        </section>
    )
}

export default Formulario
3 respostas
solução!

Olá, Claudio.

Tudo bem?

Ali no componente do App, parece que a palavra aoColaboradorCadastrado, está escrita errada, está aoColoboradorCadastrado na passagem do Formulario. Veja:

Como está:

<Formulario aoColoboradorCadastrado={colaborador => aoNovoColaboradorAdicionado(colaborador)}/>

Não seria assim?

<Formulario aoColaboradorCadastrado={colaborador => aoNovoColaboradorAdicionado(colaborador)}/>

Espero ter ajudado e bons estudos!

Olá Renan! Tudo certo!

Valeu Renan resolveu o erro ,as vezes a gente fica tão focado no erro que não conseguimos ver o óbvio obrigado.

Verdade Claudio. Isso é normal acontece com todo mundo que desenvolve. Tem vez que o projeto quebra ou o código não funciona, por causa de uma vírgula que esquecemos de colocar. rsrs

Valeu, eu vou colocar esse tópico como solucionado e fechar ele.