2017-07-05 9 views
3

React.Children.onlyが1つのReact要素の子を受け取ると予想されています。次のコードから。React.Children.onlyが1つのReact要素の子エラーを受け取ると予期しています

私はcreate-react-appを使用して新しい反応アプリを作成し、reduxとreact-reduxをインストールして、簡単な減速機を作成してその店舗を作成しました。

import React from "react"; 
import ReactDOM from "react-dom"; 
import { createStore, combineReducers } from "redux"; 
import { Provider } from "react-redux"; 

import logo from './logo.svg'; 
import './App.css'; 

class App extends React.Component { 
    render() { 
    return (
     <div className="App"> 
     <div className="App-header"> 
      <img src={logo} className="App-logo" alt="logo" /> 
      <h2>Welcome to React</h2> 
     </div> 
     <p className="App-intro"> 
      To get started, edit <code>src/App.js</code> and save to reload. 
     </p> 
     </div> 
    ); 
    } 
} 


function productReducer(state = [], action) { 
    return state; 
} 

const store = createStore(
    productReducer 
); 

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

は、このリンク-httpsを参照してください。//stackoverflow.com/questions/39862145/react-children-only -expected-to-receive-a-single-react-element-child-error- – MukulSharma

+0

プロバイダーでは、ストアと単一ルート要素が必要です。 – MukulSharma

答えて

14

あなたはここにスペースを持っている:

       ↓ 
<Provider store={store}><App /> </Provider> 

JSXは、単一の行に間隔についてちょっとうるさいです。あなたは、スペースを削除することができ、次のいずれか

<Provider store={store}><App /></Provider> 

または複数行の上でそれを破る:

<Provider store={store}> 
    <App /> 
</Provider> 
+1

ありがとう、それは働いたが、この種の問題のトラブルシューティング方法は? – Elangovan

+0

ありがとうございます!これ以上何時間も私の心を失っていた!! – GifCo

+0

ありがとう、私には1つの余分なカンマ(、)を削除するのに役立ちました。 –

関連する問題