我有一个名为react-dropzone
. 它允许你拖放文件,然后调用一个函数(通常你对文件“做”一些事情,但你可以让它调用任何你喜欢的函数)。
当文件被删除时,我想将客户端路由到“页面重定向”。以下代码没有错误,但什么也不做。
import React, { Component } from "react";
import Dropzone from "react-dropzone";
import { BrowserRouter as Router, Route } from "react-router-dom";
import PageRedirect from "./pages/page-redirect.jsx";
class DragAndDrop extends Component {
//function invoked by the Dropzone Component
handleOnDrop = files => {
console.log(files);
return (
<Router>
<Route exact path="/pages/page-redirect" component={PageRedirect} />
</Router>
);
};
render() {
return (
<div>
<Dropzone onDrop={this.handleOnDrop}> Drop File Here </Dropzone>
</div>
);
}
}
export default DragAndDrop;
任何见解都非常感谢!
您的代码不返回任何内容,因为您实际上是在定义一条不去的新路线。
如果您只想在另一个选项卡中打开重定向页面,您可以在记录文件后插入以下内容。
window.open("/pages/pages-redirect")
或者你可以这样做:
window.location.href("/pages/pages-redirect") //please ignore this and see below for the update
这假设你已经在你的根 js 文件中定义了你的路由,即你的 index.js 或 App.js 甚至你的路由目录(如果你使用一个)。如果您在定义其他路线的任何地方都没有先定义您的路线。
希望有帮助...
更新
href 不会像我上面在 React 中那样工作。您应该将其更改为:
window.location.href = "/pages/pages-redirect"
如果您收到“window.location.href 不是函数”错误,这就是原因。对于那个很抱歉。希望能帮助任何遇到错误的人。
此外,.open
将在新选项卡中打开,href
并将重定向到该路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句