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

204
Visualizações
propTypes debe ser una advertencia de consola funcional al pasar una matriz de iconos

Tengo el siguiente componente,

 import React from 'react'; import PropTypes from 'prop-types'; import * as HIcons from '@heroicons/react/outline'; export default function Button({ type, variant, icon, label }) { const { ...icons } = HIcons; const TheIcon = icons[icon]; return ( <div> <button type={type} className={['btn', `btn--${variant}`].join(' ')}> <TheIcon className="w-4 h-4 mr-2" /> {label} </button> </div> ); } Button.propTypes = { type: PropTypes.string.isRequired, label: PropTypes.string.isRequired, icon: PropTypes.oneOf[Object.keys(HIcons)], variant: PropTypes.oneOf(['sm', 'md', 'lg']) }; Button.defaultProps = { type: 'button', label: 'Submit', icon: 'SaveIcon', variant: 'md' };

y tengo el siguiente archivo de cuentos

 import Button from '.'; import * as HIcons from '@heroicons/react/outline'; const { ...icons } = HIcons; export default { title: 'Components/Buttons', component: Button, argTypes: { type: { options: ['button', 'submit', 'reset'], control: { type: 'select' } }, icon: { options: Object.keys(icons), control: { type: 'select' } } } }; const Template = (args) => <Button {...args} />; export const Small = Template.bind({}); Small.args = { label: 'Small', variant: 'sm', icon: 'SaveIcon' };

Por lo que sé, estoy pasando todo correctamente, puedo cambiar los íconos y otras cosas, sin embargo, aparece el siguiente error de consola

 Warning: Failed prop type: Button: prop type `icon` is invalid; it must be a function, usually from the `prop-types` package, but received `undefined`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.

Cualquier ayuda para resolver esta advertencia sería genial ya que soy nuevo en propTypes.

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

0

cambia tus proptypes a esto

 Button.propTypes = { type: PropTypes.string.isRequired, label: PropTypes.string.isRequired, icon: PropTypes.oneOf(Object.keys(HIcons)), variant: PropTypes.oneOf(['sm', 'md', 'lg']) };

por error escribes este:

 icon: PropTypes.oneOf[Object.keys(HIcons)],
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