当我运行我的简单程序时
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)
当您检索到多个子项时(例如,如果渲染具有多个元素但未包装在div中的组件),通常会发生此错误。现在我只能通过查看上面的代码来说很多,尝试将<Provider ... />
内的内容包装在<div>
答案 1 :(得分:0)
您的商店应该是一个对象,而不是一个数组。将测试减速器更改为
function test(state = {}) {
return state
}
您可以在商店中存储数组值,但它必须是顶级对象。
{
stuff: ['a', 'b'],
}