Storybook: 3.0.0> 3.1.6はアドオンを中断し、「チャネル」はnullです。

作成日 2017年06月28日  ·  2コメント  ·  ソース: storybookjs/storybook

単純なアップグレードにより、オプションやノブアドオンなどのアドオンが機能しなくなりました。 結果として生じる例外により、ストーリーブックは実行に失敗します。

'アドオンチャネル'が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にダウングレードしますが、最近、ストーリーブックに多くの変更が加えられていることを知っています。

knobs options question / support

最も参考になるコメント

ありがとう@shilmanあなたが書いたように私はちょうどそれをしていました、私は報告する前に最初にそれを試みるべきでした。 私のプロジェクトにはシュリンクラップがあり、それを削除すると問題が解決しました。 奇妙なことに、モジュールディレクトリに3.1.6のストーリーブックパッケージがありました。

今日は助けと迅速な対応に感謝します! 🙌🏻

全てのコメント2件

@samkelleher私たちは人々のnpmセットアップに問題を見てきました。 ダウングレードする前に、 node_modulesをクリーンアップして、新規インストールを試すことはできますか?

編集:また、yarn / npmロックファイルが配置されている場合は、インストールする前にそれらも削除してみてください。

ありがとう@shilmanあなたが書いたように私はちょうどそれをしていました、私は報告する前に最初にそれを試みるべきでした。 私のプロジェクトにはシュリンクラップがあり、それを削除すると問題が解決しました。 奇妙なことに、モジュールディレクトリに3.1.6のストーリーブックパッケージがありました。

今日は助けと迅速な対応に感謝します! 🙌🏻

このページは役に立ちましたか?
0 / 5 - 0 評価