問題タブ [storybook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6477 参照

reactjs - ストーリーショットで React Portal をレンダリングする際のエラー

ポータルを使用してモーダルをレンダリングしようとしています。アプリケーションと Storybook では問題なく動作しますが、Storyshots に追加するとすぐに問題が発生します。

最初の問題は、ReactDOM の createPortal API をモックすることでした。私はそれを次のようにしました:

ReactDOM.createPortal = element => element;

これが追加されていない場合、次のエラーが発生します。

エラー: Uncaught [TypeError: parentInstance.children.indexOf は関数ではありません]

このソリューションReact Portal Errorを見つけました。

これでこの問題は解決しますが、コンポーネントがポータルを使用すると、子を追加しようとすると失敗します。「modal-root」コンポーネントが見つからないため、要素を追加できません。どうすればこれを乗り越えられるかわかりません。

私のポータルは、React Web サイトの例とほとんど同じに見えます。

次のエラーで失敗するようになりました。

エラー: キャッチされていません [TypeError: null のプロパティ 'appendChild' を読み取れません]

上記のコード スニペットに示されている位置。