react-redux Provider 在 IE 10/11 中给出错误“onlyChild must be passed a children with exactly one child”
react-redux Provider gives error “onlyChild must be passed a children with exactly one child” in IE 10/11
此组件在 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 上,它抛出:
"Warning: Failed prop type: Invalid prop children
supplied to Provider
, expected a single ReactElement."
但 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;以前,我只是将路由器直接放入提供程序中,没有其他浏览器的任何参数。
这是我自己的错误造成的。我以某种方式使用了两个不同版本的 React。
此组件在 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 上,它抛出:
"Warning: Failed prop type: Invalid prop children
supplied to Provider
, expected a single ReactElement."
但 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;以前,我只是将路由器直接放入提供程序中,没有其他浏览器的任何参数。
这是我自己的错误造成的。我以某种方式使用了两个不同版本的 React。