У меня есть проанализированный объект JSON, поступающий с сервера, и у меня есть URL-адрес загрузки в моих реквизитах этого дочернего компонента. Теперь мне нужно сделать кнопку загрузки из этого. Как отсюда проще всего добраться? Я проанализировал свой объект как json, как обычно — это не сработает? Вот мой код:
import React from "react";
import { FiCopy, FiDownload } from "react-icons/fi";
import { CopyToClipboard } from "react-copy-to-clipboard";
import { BrowserRouter, Link } from "react-router-dom";
class PlayerCaption extends React.Component {
constructor(props) {
super(props);
this.downloadVid = this.downloadVid.bind(this);
this.onCopy = this.onCopy.bind(this);
this.state = {
copied: false,
value: "default text"
};
}
downloadVid() {
this.props.dwn_url();
}
onCopy = () => {
this.setState({ copied: true });
};
render() {
return (
<div className="caption">
<p className="video-buttons">
<CopyToClipboard text={this.props.copy()} onCopy={this.onCopy}>
<button type="button" id={this.props.id}>
<FiCopy size={30} />
</button>
</CopyToClipboard>
{this.state.copied ? <span>Copied!</span> : null}
<BrowserRouter>
<Link
to={this.props.dwn_url()}
onClick={e => e.preventDefault()}
download={this.props.dwn_url()}
>
<FiDownload size={30} />
</Link>
</BrowserRouter>
</p>
</div>
);
}
}
export default PlayerCaption;
В настоящее время ссылка указывает на URL-адрес, но не запускает загрузку.
Link
не указывает на любой URL-адрес, полученный отthis.props.dwn_url()
? - person kaveh   schedule 14.08.2019Link
, т.е.<a href={this.props.dwn_url()} target="blank" ref="......">blah blah blah</a>
, и он должен либо открыть документ непосредственно в браузере (если поддерживается), либо инициировать загрузку. - person kaveh   schedule 14.08.2019