@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>
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ <code>
Π²Π½ΡΡΡΠΈ <pre>
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π»ΠΎΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π°.<Code>
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ ΠΈΠ· this.props.code
, Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² this.props.children
.@MrOrz Π―
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠΌΠΎΡΡ!
ΠΠ°ΠΊ Π·Π΄ΠΎΡΠΎΠ²ΠΎ ΡΡΠΎ ΡΠ»ΡΡΠ°ΡΡ!
Π― ΠΌΠΎΠ³Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ marksyConf
ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΠΎΡΠΎΠΏΠΈΡΠ΅ΡΡ Ρ ΠΏΠΈΠ°ΡΠΎΠΌ, Π½Π΅ ΡΠΎΡΠΎΠΏΠΈΡΠ΅ΡΡ;)
Π±ΡΠ²ΡΠΈΠΉ:
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