此组件与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;以前,我只是将路由器直接放入提供程序,而不需要其他浏览器的任何参数。
答案 0 :(得分:2)
这是我自己错误的结果。我在某种程度上使用了两种不同版本的React。