3
respostas

[Dúvida] TypeError

Oi, no meu código tem tudo estado certo até agora, porém me deparei com um erro de escopo no componente CampoTexto, onde devemos utilizar a useState de filtragem por texto, assim como ensinado durante os desafios, porém sempre que eu digito algo no meu console aparece:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No meu código, o setFilter está definido somente como um parâmetro, e não como uma função, como deveria importá-lo para que a estado seja mudado e a filtragem seja feita?

3 respostas

Boa tarde, este campo setFilter espera receber um array? Se for verifica se o que está sendo passado é realmente um array. Para ajudar melhor coloca seu código para analisa-lo melhor, pois a imagem apenas com o que você colocou não ajuda muito.

Meu código:

import { styled } from "styled-components"
import search from './search.png'

const ContainerEstilizado = styled.div`
    position: relative;
    display: inline-block;
`;


const CampoTextoEstilizado = styled.input`
    height: 56px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 2px solid;
    border-color: #C98CF1;
    background: transparent;
    box-sizing: border-box;
    width: 566px;
    color: #D9D9D9;
    font-weight: 400;
    font-size: 20px;
    line-height: 20px;
`

const IconeLupa = styled.img`
    position: absolute;
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
`;

const CampoTexto = ({setFiltro}) => {
    return (
        <ContainerEstilizado>
            <CampoTextoEstilizado onChange={(evento) => { setFiltro(evento.target.value) }} type = "text" placeholder = "O que você procura?"/>
            <IconeLupa src={search} alt="ícone de lupa" />
        </ContainerEstilizado>
    )
}

export default CampoTexto

Este setFiltro é uma props?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software