reactjs / reactjs/react-docgen

Can not parse function component

Aperta
#370 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

needs-more-info
Lingua principale
TypeScript
Stelle
3.8k
Fork
316
Merge medio
5h 7m
PR unite (30g)
4

Descrizione

I using react-styleguidist.
But fuctional component is can't parse.

my code:

import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { sizeEnum } from '../../types/enum';
import styles from './Checkbox.module.scss';

/**
 * Design Guide Checkbox.
 */
function Checkbox(props) {
  const { id, name, value, label, size, checked, disabled, onChange } = props;
  const labelClass = classNames(styles.label, styles[size]);
  const inputClass = classNames(styles.input, styles[size]);

  return (
    <label className={labelClass} htmlFor={id}>
      <input
        type="checkbox"
        id={id}
        className={inputClass}
        name={name}
        value={value}
        checked={checked}
        disabled={disabled}
        onChange={onChange}
      />
      {label || value}
    </label>
  );
}

Checkbox.propTypes = {
  /** id */
  id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
  /** input name */
  name: PropTypes.string.isRequired,
  /** input value */
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
  /** label */
  label: PropTypes.string,
  /** size */
  size: PropTypes.oneOf([sizeEnum.large, sizeEnum.medium]),
  /** checked */
  checked: PropTypes.bool,
  /** disabled */
  disabled: PropTypes.bool,
  /** onChange */
  onChange: PropTypes.func,
};

Checkbox.defaultProps = {
  label: '',
  size: sizeEnum.medium,
  checked: false,
  disabled: false,
  onChange: () => null,
};

export default Checkbox;

display message:

Warning: Cannot parse src/app/components/Checkbox.jsx: RangeError: Maximum call stack size exceeded

class component is parsed well.

react-styleguidist version is 9.1.2

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riproduci il problema con l’esempio JSX indicato come src/app/components/Checkbox.jsx usando react-styleguidist 9.1.2. Nel report non è indicato alcun file di test o parser; il lavoro è completato quando il componente funzionale viene analizzato senza un RangeError, mentre i componenti di classe continuano a essere analizzati correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, react
Ambito
documentation, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.