@storybook/react
v3.2.4@storybook/addon-info
v3.2.4Esta entrada no exemplo oficial
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] }
);
Observe que propTypes
está entre crases.
A palavra propTypes
é mostrada em fonte monoespaçada, junto com a frase a que pertence.
A palavra propTypes
torna-se um elemento vazio <pre><code></code></pre>
, conforme mostrado abaixo.
<Code>
, que é implementado como <code>
dentro de <pre>
, que é um elemento de bloco que divide a frase em duas.<Code>
renderiza o texto de this.props.code
, mas o texto real está em this.props.children
.@MrOrz Eu também enfrentei esse problema e vou corrigi-lo neste PR # 1501
Obrigado pela ajuda!
É ótimo ouvir isso!
Posso apenas substituir marksyConf
para contornar esse problema, portanto, não se apresse no PR, não tenha pressa;)
ex:
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);
Parece que code
usado para as seções de código inline e de bloco.
Para código inline, deve renderizar props.children
mas para o bloco de código props.code
Comentários muito úteis
Parece que
code
usado para as seções de código inline e de bloco.Para código inline, deve renderizar
props.children
mas para o bloco de códigoprops.code