提供者中无效的子道具
Invalid prop children in Provider
过去几周我一直在学习React。
首先使用React开发了一个简单的Chat,现在我开始将Redux集成到我的应用程序中。
我添加了一个简单的Action、一个匹配的Reducer(以及一个根Reducer)和一个Store。然后我到达了需要使用react-redux库中的Provider的部分:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { Router, browserHistory } from 'react-router';
import ConfigureStore from './Store/ConfigureStore';
import Routes from './Routes';
const store = ConfigureStore();
ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}
routes={Routes} />,
</Provider>,
document.getElementById('root')
);
应用程序编译正常,但我在控制台收到以下错误:
警告:失败的道具类型:无效的道具
children
类型的array
提供给Provider
,期望一个单一的ReactElement。在供应商
和
未捕获的不变量违反:React. children .only期望接收一个React元素子元素。
我使用React Create App作为入门工具包。
在<Router history={browserHistory} routes={Routes} />
之后有一个,
尝试删除它?
同样的错误:
警告:Failed prop type: Invalid prop
children
of typearray
提供给Provider
,期望一个ReactElement。Uncaught Error: React. children .only expected to receive a single React元素的孩子。
我想到了以下格式的提供商:
<Provider store={store}> <App4Connected /> </Provider>
可以正常工作:
<Provider store={store}>
<App4Connected />
</Provider>
对我来说,以这种格式书写是抛出错误:
ReactDOM.render(<Provider store={store}> <App /> </Provider>, document.getElementById('root'));
但这工作得很好:
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root'));
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 从字符串末尾删除空白无效
- Jquery Datatables错误:无效的JSON基元:draw
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- Javascript setattribute-名称和值无效
- 格式化货币无效
- JavaScript错误无效的限定符
- 按键事件无效的原因
- Laravel数据表无效的JSON响应
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- Xpath对Selenium Web驱动程序无效”;Xpath未找到”;
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 反应错误“失败的 propType:提供给”提供者“的无效道具'子项',需要单个 ReactElement'
- 提供者中无效的子道具