反应路由器组件道具不接受<link />组件?

时间:2018-04-07 05:03:49

标签: javascript reactjs redux react-router-v4

这有什么问题?

<Route path='/' component={() => {
    return (
      <div>
        Home
      </div>
    )
  }}
/>

我收到错误

元素类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:undefined

但如果我这样做就没问题

class Core
{
    function loadClass($files)
    {
        $this->files = func_get_args();
        foreach($files as $file) {
            require dirname(__FILE__)."/source/class/$file";
        }
    }
}

1 个答案:

答案 0 :(得分:2)

Link组件不是react-router包中的导出,而是react-router-dom

您需要使用

进行安装
npm install -S react-router-dom

然后像

一样使用它
import { Link } from 'react-router-dom';

<Route path='/' render={(props) => {
    return (
      <div>
        <Link to='/'>Home</Link>
        <Link to='/users'>Users</Link>
      </div>
    )
  }}
/>

同样在Route中使用内联功能组件时,使用render而非component道具作为道具的功能参数