рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдкрдЧреНрд░реЗрдб рдиреЗ рдРрдбрдСрдиреНрд╕ рдХреЛ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдиреЙрдмреНрд╕ рдПрдбрдСрди рдЬреИрд╕реЗ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдЕрдкрд╡рд╛рдж рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
рдпрд╣ '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 рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЙрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрджрд▓рд╛рд╡ рд╣реБрдП рд╣реИрдВред
@samkelleher рд╣рдордиреЗ рд▓реЛрдЧреЛрдВ рдХреЗ npm рд╕реЗрдЯрдЕрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рджреЗрдЦреА рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ node_modules
рд╕рд╛рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдмрд┐рдЫрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдзрдиреНрдпрд╡рд╛рдж @shilman рдореИрдВ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдереА рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рд┐рдХреБрдбрд╝рди рд╣реИ, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рдореБрджреНрджреЗ рд╣рд▓ рд╣реЛ рдЧрдП рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдВрдХреБрд▓ рдХреЗ 3.1.6 рдерд╛ред
рдЖрдЬ рдорджрдж рдФрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ЁЯЩМЁЯП╗
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдзрдиреНрдпрд╡рд╛рдж @shilman рдореИрдВ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдереА рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рд┐рдХреБрдбрд╝рди рд╣реИ, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рдореБрджреНрджреЗ рд╣рд▓ рд╣реЛ рдЧрдП рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдВрдХреБрд▓ рдХреЗ 3.1.6 рдерд╛ред
рдЖрдЬ рдорджрдж рдФрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ЁЯЩМЁЯП╗