Provider react-redux出错

时间:2017-08-16 15:43:27

标签: javascript reactjs redux react-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)

我做错了什么? 当我删除提供程序渲染应用程序

2 个答案:

答案 0 :(得分:0)

当您检索到多个子项时(例如,如果渲染具有多个元素但未包装在div中的组件),通常会发生此错误。现在我只能通过查看上面的代码来说很多,尝试将<Provider ... />内的内容包装在<div>

答案 1 :(得分:0)

您的商店应该是一个对象,而不是一个数组。将测试减速器更改为

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

您可以在商店中存储数组值,但它必须是顶级对象。

{
  stuff: ['a', 'b'],
}