简体   繁体   English

react-redux Provider在IE 10/11中给出错误“onlyChild必须通过一个孩子只有一个孩子”

[英]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.

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