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

131
Visualizações
react return jsx from function

From the FilterBydescription component of the Render function, I try to return the jsx element. But instead of the jsx in UseAdvertisementsFilters I get undefined. Most likely the context is lost, but I don't understand why. Help return the jsx from the function.

const FilterBydescription = () => {

    const [findByDescription, bindFindByDescription, resetFindByDescription] = useInput('')

    const Render = () => {
        return <FilterInput bind={bindFindByDescription} placeholder={"Find by description"} />;
    };

    return { Render };
}

export function UseAdvertisementsFilters({isLoading}){

    return(
        <aside className="col-xl-3 filter_detail">
            <Row className="filter_detail__wrapper">
                <Col xs={12}>
                    <Row>
                        <Col className={"filter_detail__search"} xs={12}>

                            {/* Get undefined */}
                            {FilterBydescription.Render}

                        </Col>
                    </Row>
                </Col>  
            </Row>
        </aside>
    )
}

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

you can try this code

const FilterBydescription = () => {
    
        const [findByDescription, bindFindByDescription, resetFindByDescription] = useInput('')
    
    
            return <FilterInput bind={bindFindByDescription} placeholder={"Find by description"} />;
    }
    
    export function UseAdvertisementsFilters({isLoading}){
    
        return(
            <aside className="col-xl-3 filter_detail">
                <Row className="filter_detail__wrapper">
                    <Col xs={12}>
                        <Row>
                            <Col className={"filter_detail__search"} xs={12}>
    
                                {/* Get undefined */}
                                <FilterBydescription />
    
                            </Col>
                        </Row>
                    </Col>  
                </Row>
            </aside>
        )
    }
about 4 years ago · Juan Pablo Isaza Relatório

0

Your issue here is that you're trying to access a function from the FilterBydescription function. As you have it right now, FilterBydescription isn't a React component. It's a function that returns a Render method which renders a React component. So, when trying to access the Render property from FilterBydescription, you'll get undefined.

What you likely want to do is make FilterBydescription a component and render that component in your UseAdvertisementsFilters component.

Something like this:

const FilterByDescription = () => {
  const [
    findByDescription,
    bindFindByDescription,
    resetFindByDescription,
  ] = useInput('');

  return (
    <FilterInput
      bind={bindFindByDescription}
      placeholder={'Find by description'}
    />
  );
};

export function UseAdvertisementsFilters({ isLoading }) {
  return (
    <aside className="col-xl-3 filter_detail">
      <Row className="filter_detail__wrapper">
        <Col xs={12}>
          <Row>
            <Col className={'filter_detail__search'} xs={12}>
              <FilterByDescription />
            </Col>
          </Row>
        </Col>
      </Row>
    </aside>
  );
};
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