提供程序在IE 10/11中给出错误“onlyChild必须传递一个只有一个子节点的子节点”



此组件在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上,它抛出:"警告:失败的道具类型:无效的道具children提供给Provider,期望一个单一的ReactElement。"

但根是一个单一的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;在此之前,我只是把路由器直接放到了提供商中,没有从其他浏览器中输入任何参数。

这是我自己的错误造成的。我使用了两个不同版本的React

相关内容

  • 没有找到相关文章

最新更新