Skip to content

Support React.Config #499

Open
Open
@yanyanzai

Description

@yanyanzai

For functional components we can use React.Config to define default props:

import * as React from 'react';

type DefaultProps = $ReadOnly<{
  /** Description for defaultProp. */
  defaultProp: number,
}>;
type AllProps = $ReadOnly<{
  ...DefaultProps,
  /** Description for optionalProp. */
  optionalProp?: number,
  /** Description for requiredProp. */
  requiredProp: number,
}>;
type Props = React.Config<AllProps, DefaultProps>;

export default function Component({
  defaultProp = 0,
  optionalProp,
  requiredProp,
}: Props) {
  return <div />;
}

But react-docgen fails to parse all the props properly. It only parses the default prop but not the other two props.

{
  "description": "",
  "displayName": "Component",
  "methods": [],
  "props": {
    "defaultProp": {
      "defaultValue": {
        "value": "0",
        "computed": false
      },
      "required": false
    },
    "optionalProp": {
      "defaultValue": {
        "value": "0",
        "computed": false
      },
      "required": false
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions