Storybook контролирует диспергаторы при переносе компонента в HOC

У меня есть компонент в моем сборнике рассказов, который имеет некоторые элементы управления и выглядит так в пользовательском интерфейсе.

Но когда я оборачиваю свой компонент в HOC export default withAlign(Avatar), он ломается и не отображает никаких элементов управления, а раздел элементов управления заменяется следующим текстом: No inputs found for this component. Read the docs

Вот мой код для историй index.stories.tsx

import { Meta } from '@storybook/react'
import Avatar from '../Avatar'
export { AvatarColor } from './AvatarColor.stories'
export { Default } from './AvatarDefault.stories'

export default {
  title: 'Components/Avatar',
  component: Avatar,
  parameters: {
    docs: {
      description: {
        component: `An Avatar is a graphical representation of a user, team, or entity.
        Avatar can display an image, icon, or initials, and supports various sizes and shapes.`,
      },
    },
  },
  decorators: [
    (Story) => (
      <div
        style = {{
          display: 'flex',
          gap: '5px',
          flexWrap: 'wrap',
        }}
      >
        <Story />
      </div>
    ),
  ],
} as Meta

AvatarDefault.stories.tsx

import Avatar from '../Avatar'
import { AvatarProps } from '../Avatar.types'

export const Default = (props: Partial<AvatarProps>) => (
  <Avatar {...props}>Yooo</Avatar>
)

И тогда у меня есть мой тип

import { HTMLAttributes } from 'react'

export type AvatarProps = Omit<HTMLAttributes<HTMLElement>, 'color'> & {
  /**
   * The Size.
   *
   * @default 50
   */
  size?: number
  /**
   * The prop.
   * @default 80
   */
  someotherprop?: number
  /**
   * The color.
   *
   * @default "red"
   */
  color?: string
}

Любая идея, как я могу отображать элементы управления при обертывании моего компонента в HOC?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

reactDocgen из @storybook/addon-docs части @storybook/addon-essentials Не работает с HoC, если вы экспортируете их по умолчанию.

Просто меняется export default withAlign(Avatar)

К

const Avatar = withAlign(AvatarComponent)
export { Avatar }

Решена проблема, и реквизиты компонентов и реквизиты HoC отображаются на странице документации.

Другие вопросы по теме