提供程序react-redux中出错

bnlyeluc  于 2022-11-12  发布在  React
关注(0)|答案(2)|浏览(198)

当我运行我的简单程序时

索引.js

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

const store = createStore(test);

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

应用程序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)

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

tvz2xvvm

tvz2xvvm1#

这个错误通常发生在检索到多个子元素时(例如,如果呈现一个具有多个元素但未 Package 在div中的组件)。

g2ieeal7

g2ieeal72#

您的存放区应该是对象,而不是数组。请将测试reducer变更为

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

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

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

相关问题