Я собираюсь разработать некоторые из моих компонентов React с использованием Ant Design и задокументировать их в сборнике рассказов.
Как сборник рассказов, так и компоненты написаны правильно и работают.
модальный.stories.js
import React from "react";
import { action } from "@storybook/addon-actions";
import { Button } from "@storybook/react/demo";
import { BasicModal } from "./BasicModal";
import { Modal } from "antd"; // IF I REMOVE THIS ANT DESIGN DOESN'T APPLY.
export default {
title: "Modals"
};
export const basicModal = () => <BasicModal visible={true} />;
export const basicModal2 = () => <Modal visible={true} />; //IF I REMOVE THIS ANT DESIGN DOESN'T APPLY.
BasicModal.tsx
import React, { ReactNode } from "react";
import { Modal } from "antd";
interface BasicModalProps {}
export const BasicModal: React.FC<BasicModalProps> = ({}) => {
return (
<Modal
title="Basic Modal"
visible={true}
>
<p>Some contents...</p>
<p>Some contents...</p>
<p>Some contents...</p>
</Modal>
);
};
webpack.config.js
const path = require("path");
module.exports = {
module: {
rules: [
{
loader: 'babel-loader',
exclude: /node_modules/,
test: /\.js$/,
options: {
presets: ["@babel/react"],
plugins: [
['import', {libraryName: "antd", style: true}]
]
},
},
{
test: /\.less$/,
loaders: [
"style-loader",
"css-loader",
{
loader: "less-loader",
options: {
modifyVars: {"@primary-color": "#d8df19"},
javascriptEnabled: true
}
}
],
include: path.resolve(__dirname, "../")
}
]
}
};
Однако я сталкиваюсь с проблемой применения стилей в modal.stories.js
. Если я не включу import { modal } from 'antd'
и не экспортирую константу с использованием компонента Modal
, мой компонент со стилем own не будет применять к нему стилевое оформление ant.
В приведенном выше примереЯ получаю два мода basicModal
и basicModal2
, стилизованные под муравейник. Но если я закомментирую basicModal2
, basicModal
вернется к стилю CSS по умолчанию.
Есть ли способ исправить это, не добавляя компонент Ant Design по умолчанию в каждую историю?