[英]react-redux Provider gives error “onlyChild must be passed a children with exactly one child” in IE 10/11
This component works exactly as expected in Chrome, Safari, Firefox, and MS Edge: 此组件与Chrome,Safari,Firefox和MS Edge中的预期完全相同:
import { Provider } from 'react-redux';
import Store from './Store';
import Root from './Root';
class AppProvider extends React.Component {
render() {
return (
<Provider store={Store}>
<Root />
</Provider>
);
}
}
export default AppProvider;
But on IE 10/11, it throws: "Warning: Failed prop type: Invalid prop children
supplied to Provider
, expected a single ReactElement." 但是在IE 10/11上,它会抛出:“警告:失败的道具类型:提供给Provider
无效道具children
,期望一个ReactElement。”
But Root is a single ReactElement? 但Root是一个ReactElement吗? Here's the Root element below: 这是下面的Root元素:
import Main from './Main';
import ProjectList from './ProjectList';
import ContactList from './ContactList';
import { Router, Route, IndexRoute } from 'react-router';
import { History } from './History';
class Root extends React.Component {
render() {
return (
<Router history={History}>
<Route path="/" component={Main}>
<IndexRoute component={ProjectList}></IndexRoute>
<Route path="/:projectId" component={ContactList}></Route>
</Route>
</Router>
);
}
}
export default Root;
I actually only created Root because of this issue; 我实际上只是因为这个问题而创建了Root; previously, I just put the router right into the provider, without any argument from other browsers. 以前,我只是将路由器放入提供程序,没有任何其他浏览器的参数。
This was a result of error on my own part. 这是我自己错误的结果。 I was somehow using two different versions of React. 我在某种程度上使用了两个不同版本的React。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.