単純なアップグレードにより、オプションやノブアドオンなどのアドオンが機能しなくなりました。 結果として生じる例外により、ストーリーブックは実行に失敗します。
'アドオンチャネル'が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
をクリーンアップして、新規インストールを試すことはできますか?
編集:また、yarn / npmロックファイルが配置されている場合は、インストールする前にそれらも削除してみてください。
ありがとう@shilmanあなたが書いたように私はちょうどそれをしていました、私は報告する前に最初にそれを試みるべきでした。 私のプロジェクトにはシュリンクラップがあり、それを削除すると問題が解決しました。 奇妙なことに、モジュールディレクトリに3.1.6のストーリーブックパッケージがありました。
今日は助けと迅速な対応に感謝します! 🙌🏻
最も参考になるコメント
ありがとう@shilmanあなたが書いたように私はちょうどそれをしていました、私は報告する前に最初にそれを試みるべきでした。 私のプロジェクトにはシュリンクラップがあり、それを削除すると問題が解決しました。 奇妙なことに、モジュールディレクトリに3.1.6のストーリーブックパッケージがありました。
今日は助けと迅速な対応に感謝します! 🙌🏻