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

Expected 1 arguments, but got 2.

Um pequeno aviso: A versão do Organo que eu tô utilizando é baseada no curso React: Como os Componentes Funcionam

A refatoração no código do Times ficou quase completa, só que ao associar o id como 'string' eu não consigo deixar a refatoração completa, por causa do erro que tá no título, mas se eu removo o id no código do Times, ele fica normal e funciona, mas aí eu não consigo alterar a cor do Times no Organo:

Erro do Site Organo

Código do Times.tsx:

import { ICadastrado } from '../../compartilhado/interfaces/ICadastrado';
import Colaborador from '../Colaborador';
import './Times.css'
import hexToRgba from 'hex-to-rgba';

import React from "react";

interface TimesProps {
    corFundo: string,
    corDestaque: string,
    nome: string,
    cor: string
    cadastrado: ICadastrado[],
    mudarCor: (valor: string) => void,
    id: string,
    deletando: (valor: string) => void,
    favoritando: (valor: string) => void,
}

const Times = ({cadastrado, nome, cor, mudarCor, id, deletando, favoritando}: TimesProps) => {
    const corFundo = {backgroundColor: hexToRgba(cor, '0.6')}
    const corDestaque = { borderColor: cor}

    return (
        (cadastrado.length > 0) ? <section className='Times' style={corFundo}>
            <input onChange={evento => mudarCor(evento.target.value, id)} value={cor} type='color' className='inputCor'/>
            <h3 style={corDestaque}>{nome}</h3>
            <div className='colaboradores'>
                {cadastrado.map(colaborador => {   
                    return <Colaborador
                    key={colaborador.nome}
                    favorito={colaborador.favorito}
                    id={colaborador.id}
                    nome={colaborador.nome} 
                    cargo={colaborador.cargo} 
                    imagem={colaborador.imagem} 
                    corDeFundo={cor}
                    deletando={deletando}
                    favoritando={favoritando}
                    />
                })}
            </div>
        </section>
            : ''
    )
}

export default Times
3 respostas

Caso precisem do código completo, aqui está ele: Organo V2

Bom, depois de bater cabeça desde que lancei essa dúvida, e inumeras pesquisas e testes, consegui encontrar a solução pra esse erro neste caso.

Eu apliquei o segundo argumento dentro de mudarCor na interface timesProps, fazendo ele ficar assim agora:

mudarCor: (valor: string, id: string) => void,

Sendo que antes ele estava deste jeito:

mudarCor: (valor: string) => void,

E após arrumar o código pra deixar ele o mais limpo possível, eis o resultado, e lembrando que qualquer sugestão pra melhor ainda mais o código será sempre bem-vindo!

index.tsx do Times atualizado:

import { ICadastrado } from '../../compartilhado/interfaces/ICadastrado';
import Colaborador from '../Colaborador';
import './Times.css'
import hexToRgba from 'hex-to-rgba';

interface TimesProps {
    corFundo: string,
    corDestaque: string,
    nome: string,
    cor: string,
    id: string,
    cadastrado: ICadastrado[],
    mudarCor: (valor: string, id: string) => void,
    deletando: (valor: string) => void,
    favoritando: (valor: string) => void,
}

const Times = ({cadastrado, nome, cor, mudarCor, id, deletando, favoritando}: TimesProps) => {
    const corFundo = {backgroundColor: hexToRgba(cor, '0.6')}
    const corDestaque = { borderColor: cor}

    return (
        (cadastrado.length > 0) ? <section className='Times' style={corFundo}>
            <input onChange={evento => mudarCor(evento.target.value, id )} value={cor} type='color' className='inputCor'/>
            <h3 style={corDestaque}>{nome}</h3>
            <div className='colaboradores'>
                {cadastrado.map(colaborador => {   
                    return <Colaborador
                    key={colaborador.nome}
                    favorito={colaborador.favorito}
                    id={colaborador.id}
                    nome={colaborador.nome} 
                    cargo={colaborador.cargo} 
                    imagem={colaborador.imagem} 
                    corDeFundo={cor}
                    deletando={deletando}
                    favoritando={favoritando}
                    />
                })}
            </div>
        </section>
            : ''
    )
}

export default Times
solução!

Olá Nicholas!

Parabéns por conseguir encontrar a solução para o erro por conta própria!

Agradecemos por apontar a causa e fornecer a solução, e por informar que o erro já foi corrigido.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!