繁体   English   中英

提供者react-redux中的错误

[英]Error in Provider 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)

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM