@storybook/react
v3.2.4@storybook/addon-info
v3.2.4公式例のこのエントリ
storiesOf('Button').addWithInfo(
'simple usage (custom propTables)',
`
This is the basic usage with the button with providing a label to show the text.
Since, the story source code is wrapped inside a div, info addon can't figure out propTypes on it's own.
So, we need to give relevant React component classes manually using \`propTypes\` option as shown below:
~~~js
storiesOf('Button')
.addWithInfo(
'simple usage (custom propTables)',
<info>,
<storyFn>,
{ inline: true, propTables: [Button]}
);
~~~
`,
() => (
<div>
<Button label="The Button" onClick={action('onClick')} />
<br />
</div>
),
{ inline: true, propTables: [Button] }
);
propTypes
がバッククォートで囲まれていることに注意してください。
propTypes
という単語は、それが属する文と一緒に等幅フォントで表示されます。
propTypes
という単語<pre><code></code></pre>
要素になります。
<Code>
、これは<pre>
内に<code>
として実装されます。これは、文を 2 つに分割するブロック要素です。<Code>
はthis.props.code
からのテキストをレンダリングしますが、実際のテキストはthis.props.children
ます。@MrOrz私もこの問題に直面しており、この PR #1501 で修正する予定です。
助けてくれてありがとう!
それを聞くのは素晴らしいことです!
marksyConf
を上書きしてこの問題を回避できるので、PR を急ぐ必要はありません。時間をかけてください ;)
例:
import React from 'react';
import { configure } from '@storybook/react';
import { setDefaults } from '@storybook/addon-info';
function Code({ children }) {
return <code>{children}</code>;
}
function loadStories() {/* loading stories here */}
setDefaults({ marksyConf: { code: Code } });
configure(loadStories, module);
インライン コード セクションとブロック コード セクションの両方にcode
使用されているように見えます。
インライン コードの場合はprops.children
をレンダリングする必要がありますが、コード ブロックの場合はprops.code
最も参考になるコメント
インライン コード セクションとブロック コード セクションの両方に
code
使用されているように見えます。インライン コードの場合は
props.children
をレンダリングする必要がありますが、コード ブロックの場合はprops.code