繁体   English   中英

反应错误'Failed propType:提供给`Provider`的无效道具`children`,期望一个ReactElement'

[英]React error 'Failed propType: Invalid prop `children` supplied to `Provider`, expected a single ReactElement'

我有一些React.js的问题。 这是我的代码:

import React from 'react';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import App from './containers/App';
import todoApp from './reducers';

let store = createStore(todoApp);
let rootElement = document.getElementById('root');

React.render(
    <Provider store={store}>
        {() => <App />}
    </Provider>,
    rootElement
);

并运行页面,它说:

propType失败:提供给Provider无效prop children ,预期单个ReactElement

这是我相关的已安装节点模块的列表:

  • 反应15.0.1
  • react-redux 4.4.5
  • redux 3.4.0

实际上,我目前正在学习与Redux的React,所以我很难怎么做。 我只是按照网站上的教程(我可以提供一个链接,但它不是英文)但它只是没有使用该错误消息。 当我搜索时,有人说反应和react-redux的升级版本,但我安装了最新版本。 任何建议都会非常感激。

根据文档 ,您可以使用普通的React元素而不是<Provider />中的函数。

因此,只需将代码更改为

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

我认为自react@0.14以来这已经发生了变化。

最初的问题有一个错字。 您的响应在正确的语法中是正确的。

但是,直接原因是<App />需要在一个单独的行上。

如果你把它放在与<Provider store={store}>相同的行上,React / Redux会尝试用它做更多的事情。

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

我被带到了这里,我只是忘了提供道具。 我会说确保您提供组件正在使用的所有道具并且应该修复它。

暂无
暂无

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

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