我正在将一个反应应用程序转换为服务器端。
我有这样的事情:
import React from 'react'
import R, { Link } from 'react-router'
console.log("router:", R) // R is undefined!
class C1 extends React.Component {
render () {
return (<Link to="/somewhere">somewhere</Link>)
}
}
以前工作,但现在服务器上未定义react-router
。我安装了它:npm install --save react-router
,版本^ 4.2.0。
如何让链接与服务器端和客户端一起工作?我知道我可以这样做:import { NavLink } from 'react-router-dom'
并使用NavLink而不是Link。但是,这会导致每次点击链接时都会进行服务器端调用。我希望客户端的反应可能是使用pushstate而不是在初始加载后引用服务器。
答案 0 :(得分:0)
尝试添加到npm npm install -g react-router-dom
然后import { BrowserRouter, Link, Route, Router, Switch} from 'react-router-dom';
代码将是:
import React from 'react';
import { BrowserRouter, Link, Route, Router, Switch} from 'react-router-dom';
<BrowserRouter>
<Link to='/' >Home</Link>
<switch>
<Route path='/' exact render={(props) => <`your component` />}>
</switch>
</BrowserRouter>