๊ฐ๋จํ ์ ๊ทธ๋ ์ด๋๋ก ์ธํด ์ต์ ๋ฐ ๋ ธ๋ธ ์ ๋์จ๊ณผ ๊ฐ์ ์ ๋์จ์ด ์๋ํ์ง ์์ต๋๋ค. ๊ฒฐ๊ณผ ์์ธ๋ก ์ธํด ์คํ ๋ฆฌ ๋ถ์ด ์คํ๋์ง ์์ต๋๋ค.
'์ ๋์จ ์ฑ๋'์ด null ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
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
ํธ์ถ์ ์ถ๊ฐํ๋ ค๊ณ ํ์ง๋ง ์๋ฌด๋ฐ ์ฐจ์ด๊ฐ ์์์ต๋๋ค. ๋ํ withKnobs๋ฅผ ํธ์ถํ๊ธฐ ์ ์ setTimeout์ ์ถ๊ฐํด ๋ณด์์ต๋๋ค.
storiesOf('My Story', module)
.addDecorator(withKnobs)
์ ์์ ์ผ๋ก ์๋ํ์ง๋ง ๋ช ํํ ํธ์ถ์ ์ฐพ์ ์์๋ 3.0.0์ผ๋ก ๋ค์ ๋ค์ด ๊ทธ๋ ์ด๋ ํ ์์ ์ด์ง๋ง ์ต๊ทผ์ ์คํ ๋ฆฌ ๋ถ์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
@samkelleher ์ฌ๋๋ค์ npm ์ค์ ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ค์ด ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ node_modules
์ ์ ๋ฆฌํ๊ณ ์๋ก ์ค์นํ ์ ์์ต๋๊น?
ํธ์ง : ๋ํ ์์ฌ / npm ์ ๊ธ ํ์ผ์ด ์์ผ๋ฉด ์ค์นํ๊ธฐ ์ ์ nuking์ ์๋ํ์ญ์์ค.
@shilman ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋น์ ์ด ์ด๋๋ก ๊ทธ๋ ๊ฒํ๊ณ
์ค๋ ๋์๊ณผ ๋น ๋ฅธ ์๋ต์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๐๐ป
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@shilman ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋น์ ์ด ์ด๋๋ก ๊ทธ๋ ๊ฒํ๊ณ
์ค๋ ๋์๊ณผ ๋น ๋ฅธ ์๋ต์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๐๐ป