أنا أكتب كتاب قصص لعنصر طفل حيث سيتولى العنصر الرئيسي إدارة الحالة. على سبيل المثال، يتم تمرير value (سلسلة نصية) وonChange (دالة) من خلال الخصائص. لدي كلا الخاصيتين تم تمريرهما، لكنني غير متأكد من كيفية تحديث الحالة في ملف الكتاب القصصي.
textfield.tsx
import React, { FC, HTMLProps } from 'react'; type FirstNameTextFieldProps = HTMLProps<HTMLInputElement> const FirstNameTextField: FC<FirstNameTextFieldProps> = ({ ...restOfProps } اقرأ أكثر →
السياق والكود
قمنا بتمديد زرنا كما يلي:
export type ButtonProps<P = Record<string, unknown>> = P & { children: ReactNode | string onClick?: () => void className?: string disabled?: boolean secondary?: boolean } const Button = <P extends Record اقرأ أكثر →لقد قمت مؤخرًا بنقل مشروع CRA الخاص بي إلى Next.js كنت أستخدم Storybook في ذلك المشروع، لذلك كان عليّ تعديل العديد من الإعدادات، لكن لا تزال هناك مشاكل متعلقة بـ TypeScript.
هذا هو مثال على ملف قصتي.
import { ComponentStory, ComponentMeta } from '@storybook/react'; import Index from 'pages/profile'; export default { title: 'Views/Profile', component: Index, } as ComponentMeta<typeof Index>; export const IndexTemplate: ComponentStory<typeof Index> = (args اقرأ أكثر →
أنا أعمل مع مساحة عمل Yarn بالبنية التالية:
"workspaces": [ "app/*", "packages/*", "utilities/*" ],أكتب بعض دوال المساعدة في تايب سكريبت، ثم أقوم باستيرادها في أحد الملفات في app/test/index.tsx
import React from 'react'; import { اقرأ أكثر →
أريد استدعاء hook المخصص في React لجميع القصص، ومع ذلك، لست متأكدًا من مكان الإعلان عنه. يجب أن تكون hooks المخصصة التي أريد استدعاءها داخل مزود السياق.
هل هناك أي طرق لإعلان موفر السياق والخطافات المخصصة لجميع القصص؟
import React from 'react'; import { useCustomHooks } from './custom'; impor اقرأ أكثر →لدي مكون معرض وسائط منبثق وأحتاج إلى استخدامه ضمن السطر، لتوثيقه في Storybook. عندما أضيف الكود أدناه في '.storybook/preview.js'
export const parameters = { docs: { inlineStories: false, } }يعمل كما توقعت، ولكن عندما أضبط inlineStories: false، لا توجد مشكلة في تعديل الخصائص على Canvas، ولكن في Docs، لا ينعكس التعديل.
لتجنب هذا الخطأ حاولت إضافة inlineStories: false إلى مكون النافذة المنبثقة فقط، ولكن عندما فعلت ذلك، توقف الوضع الداخلي عن العمل أيض
اقرأ أكثر →module.exports = { stories: ["../**/*.stories.mdx", "../stories/**/*.stories.@(js|jsx|ts|tsx)"], addons: [ "@storybook/addon-links", "@storybook/addon-essentials", "@storybook/addon-interactions", "@storybook/preset-create-react-app", "@storybook/addon-a11y" ], typescript: { reactDocgen: "react-docgen-typescript", reactDocgenTypescriptOptions: { shouldExtractLitera
اقرأ أكثر →أحاول استخدام Storybook مع TypeScript و SvelteKit، رغم أن هذا قد سبب لي بعض المشكلات التي لا يبدو أنني أستطيع حلها بنفسي.
import Modal from './Modal.svelte' export default { title: 'Modal', component: Modal, } const Template = (args: any) => ({ component: Modal, props: args, }) export const Primary = Template.bind({}) Primary.args = { text: 'Hello World', }يعطيني الكود أعلاه الخطأ التالي في السطر Primary.args={ :
Proper اقرأ أكثر →
لدي هذا المكوّن:
import { FC, ReactElement, useState, MouseEvent as ReactMouseEvent, ChangeEvent as ReactChangeEvent, } from 'react'; import { Stack, TablePagination } from '@mui/material'; export const Pagination: FC<IPaginationProps> = ({ total, page = 1, rowsPerPage = 25, position = 'start', rowsPerPageOptions = [10, 25, 50, 100], onPageChange, onRowsPerPageChange, }): ReactElement => { const [localPage, setPage] = useState(page); const اقرأ أكثر →
أنا أكتب مكوّنًا يستخدم مكوّنًا آخر، لذا قد كتبت
في الملف /src/stories/TextArea/TextArea.tsx.
ومع ذلك، هذا يعطي الخطأ
Module not found: Can't resolve '.. اقرأ أكثر →