Storybook: 3.0.0> 3.1.6 рдЬреЛрдбрд╝рд┐рдпреЛрдВ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ, 'рдЪреИрдирд▓' рд╢реВрдиреНрдп рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЬреВрди 2017  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: storybookjs/storybook

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдкрдЧреНрд░реЗрдб рдиреЗ рдРрдбрдСрдиреНрд╕ рдХреЛ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдиреЙрдмреНрд╕ рдПрдбрдСрди рдЬреИрд╕реЗ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдЕрдкрд╡рд╛рдж рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдпрд╣ 'addons рдЪреИрдирд▓' рд╕реЗ рдЕрд╢рдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИред

render.js:65 TypeError: Cannot read property 'removeListener' of null
    at WrapStory.componentWillUnmount (WrapStory.js:76)
    at ReactCompositeComponent.js:408
    at measureLifeCyclePerf (ReactCompositeComponent.js:75)
    at ReactCompositeComponentWrapper.unmountComponent (ReactCompositeComponent.js:407)
    at Object.unmountComponent (ReactReconciler.js:78)
    at Object.unmountChildren (ReactChildReconciler.js:146)
    at ReactDOMComponent.unmountChildren (ReactMultiChild.js:371)
    at ReactDOMComponent.unmountComponent (ReactDOMComponent.js:990)
    at Object.unmountComponent (ReactReconciler.js:78)
    at ReactCompositeComponentWrapper.unmountComponent (ReactCompositeComponent.js:417)

рдпрд╣ рд╕рдВрджрд░реНрднрд┐рдд рд▓рд╛рдЗрди рд╣реИ:

this.props.channel.removeListener('addon:knobs:knobChange', this.knobChanged);

рдФрд░ config.js:

import { configure, addDecorator } from '@storybook/react';
import { withKnobs } from '@storybook/addon-knobs';
import Global from '../src/components/Global';

const req = require.context('../src/components', true, /.stories.js$/);

function loadStories() {
    req.keys().forEach(filename => req(filename));
}

addDecorator(story => (
    <Global>
        {story()}
    </Global>
));

addDecorator(withKnobs);

configure(loadStories, module);

рдореИрдВрдиреЗ рдХрд╣рд╛рдиреА рдореЗрдВ withKnobs рдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред рдореИрдВрдиреЗ рдХреЙрд▓рдмреЙрдХреНрд╕реЗрдЬрд╝ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВред

storiesOf('My Story', module)
    .addDecorator(withKnobs)

рдпрд╣ 3.0.0 рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЙрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрджрд▓рд╛рд╡ рд╣реБрдП рд╣реИрдВред

knobs options question / support

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж @shilman рдореИрдВ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдереА рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рд┐рдХреБрдбрд╝рди рд╣реИ, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рдореБрджреНрджреЗ рд╣рд▓ рд╣реЛ рдЧрдП рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдВрдХреБрд▓ рдХреЗ 3.1.6 рдерд╛ред

рдЖрдЬ рдорджрдж рдФрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ЁЯЩМЁЯП╗

рд╕рднреА 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@samkelleher рд╣рдордиреЗ рд▓реЛрдЧреЛрдВ рдХреЗ npm рд╕реЗрдЯрдЕрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рджреЗрдЦреА рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ node_modules рд╕рд╛рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдмрд┐рдЫрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж @shilman рдореИрдВ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдереА рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рд┐рдХреБрдбрд╝рди рд╣реИ, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рдореБрджреНрджреЗ рд╣рд▓ рд╣реЛ рдЧрдП рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдВрдХреБрд▓ рдХреЗ 3.1.6 рдерд╛ред

рдЖрдЬ рдорджрдж рдФрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ЁЯЩМЁЯП╗

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

sakulstra picture sakulstra  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rpersaud picture rpersaud  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shilman picture shilman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ZigGreen picture ZigGreen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shilman picture shilman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ