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

时间:2016-09-08 14:11:20

标签: javascript internet-explorer reactjs redux react-redux

此组件与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;

但在IE 10/11上,它会抛出: &#34;警告:道具类型失败:提供给children的道具Provider无效,预计会有一个ReactElement。&#34;

但Root是单个ReactElement?这是以下的根元素:

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;

我实际上只是因为这个问题而创建了Root;以前,我只是将路由器直接放入提供程序,而不需要其他浏览器的任何参数。

1 个答案:

答案 0 :(得分:2)

这是我自己错误的结果。我在某种程度上使用了两种不同版本的React。