ค้นหาเว็บไซต์

javascript - ไม่สามารถนำเข้าคอมโพเนนต์ไปยังสตอรีบุ๊กได้


ฉันกำลังประสบปัญหาในการทำให้หนังสือเรื่องราวเล่มแรกของฉันทำงานได้ ฉันกำลังใช้เวอร์ชันและการกำหนดค่าล่าสุดของ Storybook และรัน npx sb init เพื่อทำตามเอกสารที่นี่

ไฟล์เรื่องราวต่อไปนี้จะทำงานได้ดี:

SampleComponent.stories.tsx:

import React from 'react';
// eslint-disable-next-line import/no-extraneous-dependencies
import { Meta } from '@storybook/react/types-6-0';
// eslint-disable-next-line import/no-extraneous-dependencies
import SampleComponent from './SampleComponent';

export const Foo: React.FC = () => <SampleComponent />;

export default {
  title: 'Testing',
  component: Foo,
} as Meta;

อย่างไรก็ตาม หนังสือนิทานต่อไปนี้ใช้การไม่ได้และฉันได้รับหนังสือนิทานว่างแทน ฉันยังได้รับข้อความในคอนโซลว่า:

พบไฟล์เรื่องราวสำหรับ "Testing" แต่ไม่มีเรื่องราวที่ถูกส่งออก

SampleComponent.stories.tsx:

import React from 'react';
// eslint-disable-next-line import/no-extraneous-dependencies
import { Meta } from '@storybook/react/types-6-0';
// eslint-disable-next-line import/no-extraneous-dependencies
import SampleComponent from './SampleComponent';

export default {
  title: 'Testing',
  component: SampleComponent,
} as Meta;

ทำไมฉันจึงไม่สามารถนำเข้า SampleComponent โดยตรงไปยังค่าเริ่มต้นที่ส่งออกของฉันได้?


.storybook/main.js:

module.exports = {
  "stories": [
    "../src/**/*.stories.@(js|jsx|ts|tsx)"
  ],
  "addons": [
    "@storybook/addon-links",
    "@storybook/addon-essentials"
  ]
}

SampleComponent.tsx:

import React from 'react';

const SampleComponent: React.FC = () => <h1>Hello World</h1>;

export default SampleComponent;

โครงสร้างไฟล์:

src/
  - components/
    - SampleComponent/
      - SampleComponent.tsx
      - SampleComponent.stories.tsx

คำตอบ #1

ไฟล์ stories ควรส่งออก stories เป็นการส่งออกแบบตั้งชื่อ ตัวอย่างที่สองของคุณไม่ได้ส่งออก stories ใดๆ

คุณสามารถเพิ่มได้ :

export MyStory = () => <SampleComponent/>

หรือไดเรกทอรีส่งออก SampleComponent แต่คงไม่ใช่ความคิดที่ดี: คุณน่าจะใช้ args, parameters และอื่น ๆ