我是ReactJS的初学者,我正在尝试使用history.push()
重定向页面,但没有成功。谁能帮我说我的代码有什么问题吗?我知道可以使用React Router,但这对我想做的事情没有帮助。
import React from 'react';
class App extends React.Component {
constructor(props) {
super(props)
this.handleClick = this.handleClick.bind(this)
}
handleClick(e) {
e.preventDefault()
this.props.history.push('/redirected');
}
render() {
return (
<div>
<button onClick={this.handleClick}>
Redirect!!!
</button>
</div>
)
}
}
export default App;
单击按钮后,出现以下错误:
TypeError: Cannot read property 'push' of undefined
在线:
this.props.history.push('/redirected');
谢谢!
答案 0 :(得分:1)
最简单的解决方案是:
安装历史记录:
npm install --save history
初始化index.js中的浏览器历史记录:
import { createBrowserHistory } from 'history';
export const browserHistory = createBrowserHistory();
使用:
browserHistory.push('/pathToRedirect')
答案 1 :(得分:0)
如果重定向到外部链接,请尝试以下操作:
window.location.href = 'your-url';
尽管如果重定向到外部链接,我必须警告您,但是react-router不能按照您希望的方式工作。