window.createObjectUrl()
用blob:http://domain/generatedString
的形状创建一个URL,我试图在<iframe>
内使用此URI,但它似乎不起作用,因为react-router
如果没有规则,则将我重定向到主页匹配是因为它具有这样的开关:
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/a" component={A} />
<Route exact path="/b" component={B} />
<Route component={nomatch} />
</Switch>
如何为其中一个blob uris制定规则?
edit :好的,答案不是反应,这是其他事情困扰着我的斑点。可悲的是,我不记得那是什么。但是,嘿,现在您知道这不是反应: (
当您在浏览器中打开链接时,不要忘记在URL前的blob:
。
不要尝试: http://domain/generatedString
但是 blob:http://domain/generatedString
因此,您的React应用不会被调用,因此react router
对我来说,它在JSX中这样工作:
const url = window.URL.createObjectURL(someData)
const downloadLink = React.createElement('a', { download: 'filename.csv', href: url}, 'download')
return (downloadLink)