我正在使用带有故事书的 Material UI V5,除了文档不会自动生成之外,一切似乎都运行良好。当我单击“文档”选项卡时,它只是一个空白屏幕。
我查看了这个使用 Material Ui V4 的存储库,并且有文档正在研究我是否可以找出哪里/是否出错。但没有铁砧。故事书 MUI v4
我没有做任何花哨的事情,实际上我所做的只是使用sb
命令行工具安装故事书,安装 Material UI v5 并导出一个按钮。但是没有文档显示。
import React from "react";
import PropTypes from "prop-types";
import MiButton from "@mui/material/Button";
export const Button = ({ primary, backgroundColor, size, label, ...props }) => {
return <MiButton>GOT IM!</MiButton>;
};
Button.propTypes = {
primary: PropTypes.bool,
backgroundColor: PropTypes.string,
size: PropTypes.oneOf(["small", "medium", "large"]),
label: PropTypes.string.isRequired,
onClick: PropTypes.func,
};
Button.defaultProps = {
backgroundColor: null,
primary: false,
size: "medium",
onClick: undefined,
};
Run Code Online (Sandbox Code Playgroud) 如何设置 Storybook 以便它解析 Tailwindcss 样式并解析绝对路径?
注意:这是根据此允许的自记录问题/答案。这需要一段时间才能弄清楚,我相信很多其他人也会遇到这个问题。
我一直在学习使用交互插件在 Storykook 中进行测试。但我不知道如何在主分支推送之前运行测试(进行部署),我发现的一种方法是使用 git hook(pre-puch)运行所有测试,但是当我的应用程序长大了,我想使用管道 ci/cd 而不是 git hooks
感谢您的阅读!
你可以在这里找到该应用程序
我正在将故事书引入到我们的 React 组件中。当我开始添加示例时:
我们可以看到组件本身刷新在页面中间。
我怎么做?
我似乎无法弄清楚如何让我的事件处理函数执行其逻辑来更新 UI 和故事书的插件 -actions()
记录输出。
我希望更新 UI 的原因是我们使用 cypress.io 进行测试。我们已经破解/存根了操作消息传递(非常酷,window.postMessage)来访问允许使用的操作消息action("functionName")
,而不是在 中连接事件处理函数[file].stories.tsx
。为了我的理智,我想两者都做。要检查操作消息,只需单击几下。我宁愿看到该项目被删除。这样,为了进行测试,我希望收到操作消息(我能够做到这一点)。我们用来alert()
检查是否有东西被解雇,但我不是粉丝。
如果这看起来没有必要,或者违反直觉/生产力,请详细说明。
如果它有帮助...<List />
就是这样,但每个项目上都有一个操作按钮,可以从列表中删除该项目。
使用onRemove={actionHandler}
下面的 List 中的 prop 就可以在 UI 中删除该项目,Cypress 很高兴,但需要alert()
跟踪。但无法在任何地方连接action()
并且无法在 GUI 中登录。
如果我删除onRemove={actionHandler}
并取消注释// onRemove: action("removeItem")
,我会得到我想要的操作日志,但该项目不会删除。
我知道操作应该模仿事件处理程序,但我希望它能够做到这一点并触发实际事件......如果可能或合理的话。
List.stories.tsx
// storybook addons
import { withKnobs } from "@storybook/addon-knobs";
// deps
import React from "react";
import { action } from "@storybook/addon-actions";
// utils
import { CustomEvent } from "../../hooks"; …
Run Code Online (Sandbox Code Playgroud) 如何在 Storybook/HTML 中为我的故事添加“mdx”格式的文档?我如何将 example.stories.js 与 example.stories.mdx 连接,example.stories.mdx 应该是什么样子?官方文档中有一个 React 的示例,但我找不到一些专门针对 Storybook/HTML 的指南。
感谢您花时间查看我的问题。
我正在关注 React 教程的故事书;
npx create-react-app 任务框
光盘任务箱
npx -p @storybook/cli sb init
当我运行 npx -p @storybook/cli sb init 命令时,它将无法安装并且我收到此错误。
npm ERR! Unexpected end of JSON input while parsing near '...NrtNqRHco5\nxlpsRMQzO'
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\chris\AppData\Roaming\npm-cache\_logs\2020-07-10T04_11_36_303Z-debug.log
Install for [ '@storybook/cli@latest' ] failed with code 1
Run Code Online (Sandbox Code Playgroud)
所以它看起来像一个缓存错误,我已经运行了yarn cache clean --force。我仍然有同样的问题。
任何帮助都会很棒!
我的单选按钮无法正常工作,最大的问题是当我单击单选项目时未设置选中的属性。
\n知道为什么它不能正常工作以及如何实现上述几点吗?
\n请参阅下面的代码片段,它在这里不起作用,不知道为什么。
\nclass Root extends React.Component {\n render() {\n return (\n <div>\n Group 1: <RadioButton />\n Group 2: <RadioButtonGroup />\n </div>\n );\n }\n}\n\nimport React, { useState } from "react"\n\ninterface SharedProps {\n /**\n * Specify whether the control is disabled\n */\n disabled?: boolean\n\n /**\n * Specify whether the <RadioButton> is currently checked\n */\n defaultChecked?: boolean\n\n /**\n * Provide where label text should be placed\n */\n labelPosition: "right" | "left"\n\n /**\n * Provide a name for …
Run Code Online (Sandbox Code Playgroud)如何在 Storybook 故事中使用 Vue 3 插件?
例如,我使用 FormKit 在组件中创建表单元素。
FormKit 在我的 main.ts 中进行了全局配置,如下所示:
import { plugin, defaultConfig } from '@formkit/vue'
const app = createApp(App)
app.use(plugin, defaultConfig)
Run Code Online (Sandbox Code Playgroud)
但 Storybook 不使用这个文件...那么我该如何为 Storybook 做同样的事情呢?
storybook ×9
reactjs ×6
typescript ×2
javascript ×1
material-ui ×1
react-hooks ×1
tailwind-css ×1
testing ×1
vue.js ×1
vuejs3 ×1