2017-12-13 10 views
1

私はリアクション可能な遅延ロードコンポーネントを実装しようとしています。私は彼らのガイドに従ったが、私はそれを働かせることはできない。react-loadable - オブジェクトがリアクションの子として有効ではありません。

私はそれを輸入に予期しない入力エラーを投げたので、最初はWebPACKのビルドが壊れる3つのロード可能なコンポーネント

const LazyOne = Loadable({ 
    loader:() => import(/* webpackChunkName: 'lazy-1' */"./components/LazyOne"), 
    loading: <h1>wait</h1> 
}); 

const LazyTwo = Loadable({ 
    loader:() => import(/* webpackChunkName: 'lazy-2' */"./components/LazyTwo"), 
    loading: <h1>wait</h1> 
}); 

const LazyThree = Loadable({ 
    loader:() => import(/* webpackChunkName: 'lazy-3' */"./components/LazyThree"), 
    loading: <h1>espera</h1> 
}); 

を持っています。だから私は今、ビルドが成功していると私はWebPACKのバンドル・アナライザを使用する場合、私はすべての怠惰な、正しく構築されたビルドを参照

"plugins": [ 
    // all my other plugins... 
    "syntax-dynamic-import" 
    ] 

.babelrc私にこれを追加しました!

私はそうのようにレンダリングされ、私のページにアクセスすると、しかし:

render() { 
    return (
    <ErrorBoundary> 
     <LazyOne {...this.props} /> 
    </ErrorBoundary> 
); 
} 

これはスロー:

オブジェクトが反応子として有効ではありません(見つかりました:[オブジェクトの約束])。 子コレクションをレンダリングする場合は、代わりに配列を使用してください。

これは、反応搭載型githubやwebpackのコード分割セクションでも何も言及していません。私は間違って何をしていますか?

EDIT

私は少し物事を変更し、それは怠惰なチャンクの読み込みに失敗気づきました。

私のURLは次のようなものです:はlocalhost:3000 /いくつか/休憩/ 1 /編集

とアプリをフェッチしようとしている:localhostを:3000 /いくつか/休憩/ 1 /レイジー1.bundle .js

どこにパスを指定すればよいですか?

+0

どのコンポーネントができてこのエラーが発生していますか? –

+0

@ Madhavan.Vレイジーコンポーネントをレンダリングしようとします。私の例では、LazyOneをレンダリングしようとしました。 – Lokuzt

+0

コンソールでエラーを確認できますか?レンダリングメソッドで値を表示しようとしたときに、このような問題が発生しました。 –

答えて

関連する問題