2017-08-16 25 views
1

を私はこのような何かを得る私の簡単なプログラムエラーが反応し、Reduxの

Index.js

function test(state = []) { 
    return state 
} 

const store = createStore(test); 

render(<Provider store = { store } > 
    <App/> </Provider> , 
    document.getElementById('root') 
) 

App.js

const App =() => { 
    return (<h1 > Yo < /h1>) 
} 

export default App; 

を実行していた場合:

Error: React.Children.only expected to receive a single React element child. 
    at invariant (invariant.js:44) 
    at Object.onlyChild [as only] (onlyChild.js:33) 
    at Provider.render (Provider.js:49) 
    at ReactCompositeComponent.js:795 
    at measureLifeCyclePerf (ReactCompositeComponent.js:75) 

私は間違っていますか? プロバイダプログラムのレンダリングアプリケーションを削除するとき

+0

コードサンプルでインポートを指定してファイルを分割できますか? –

+0

私の質問を編集することはできません、私はコメントで答えるでしょう。 index.js ' はインポート「から '反応-Reduxのを' インポートアプリケーションから 'Reduxの' インポート{プロバイダ}から '反応-DOMを' インポート{CREATESTORE}から インポート{レンダリング} '反応' と反応します。/components/App ' App.js import React' react '' – Vitaliy

+0

コンソールログまたはデバッガでAppがヌルでないかどうかを確認して、正しくインポートしていることを確認してください。 – diedu

答えて

0

このエラーは、複数の子が取得された場合(通常、複数の要素を持つコンポーネントをレンダリングしてdivにラップされていない場合など)に発生します。上記のコードだけを見て、コンテンツをラップしようとすると、私はあまり言いません。<div>

+0

私はこの変種を試しました。 レンダリング(< プロバイダストア= {店}> { ()=>(< div >< span >ヒーロー< /span>

) } < /Provider >、 のdocument.getElementById( 'ルート') ) しかし、それはあまりにも動作しません。 – Vitaliy

+0

質問をコンポーネントの内容で更新できますか? –

0

あなたの店はオブジェクトではなく配列でなければなりません。あなたが配列のお店で値保存することができますが、それはトップレベルのオブジェクトである必要が

function test(state = {}) { 
    return state 
} 

にテスト減速を変更します。

{ 
    stuff: ['a', 'b'], 
} 
関連する問題