Javascript react route redux:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件)

Javascript react route redux:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),javascript,reactjs,redux,react-redux,react-router-redux,Javascript,Reactjs,Redux,React Redux,React Router Redux,index.js import React from 'react'; import ReactDOM from 'react-dom'; import { createStore, applyMiddleware } from 'redux'; import { Provider } from 'react-redux'; import thunk from 'redux-thunk'; import createHistory from 'history/createBrowserHisto

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import thunk from 'redux-thunk';
import createHistory from 'history/createBrowserHistory';
import { Route } from 'react-router';
import reducer from './reducers';
import App from './components/App';

import { ConnectedRouter, routerMiddleware } from 'react-router-redux';

const history = createHistory();

const store = createStore(
  reducer,
  applyMiddleware(thunk),
  applyMiddleware(routerMiddleware(history))
)

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRouter history={history}>
      <div>
        <Route exact path="/" component={App}/>
      </div>
    </ConnectedRouter>
  </Provider>,
  document.getElementById('root')
);
有什么想法吗?谢谢

更新

import React from 'react';
import { Link } from 'react-router-dom';

export default class Header extends React.Component {
  render() {
    return (
      <nav>
        <Link to="/" activeClassName="active">Home</Link>
      </nav>
    )
  }
};
从“React”导入React;
从'react router dom'导入{Link};
导出默认类标头扩展React.Component{
render(){
返回(
家
)
}
};

您的路由器版本是什么?如果是react router 4,则不再使用IndexLink。此外,
ConnectedRouter
仅在发行版和更高版本中可用。谢谢,我解决了导入问题。您解决了这个问题吗?无论何时使用
ConnectedRouter
@Hassan,我都会遇到同样的问题。请阅读我的更新。更新中的“我的代码”工作正常(使用了
Link
而不是
IndexLink
)。
import React, { Component } from 'react';
import { IndexLink } from 'react-router';

export default class Header extends Component {
  render() {
    return (
      <nav>
        <IndexLink to="/" activeClassName="active">Home</IndexLink>
      </nav>
    )
  }
};
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check your code at Header.js:8.
    in Header (at App.js:9)
    in div (at App.js:8)
    in App (created by Route)
    in Route (at index.js:23)
    in div (at index.js:22)
    in Router (created by ConnectedRouter)
    in ConnectedRouter (at index.js:21)
    in Provider (at index.js:20)  bundle.js:11913:10
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `Header`.  bundle.js:11472:16
import React from 'react';
import { Link } from 'react-router-dom';

export default class Header extends React.Component {
  render() {
    return (
      <nav>
        <Link to="/" activeClassName="active">Home</Link>
      </nav>
    )
  }
};