Компонент, который должен иметь содержимое iframe:
Код: Выделить всё
import React, { Component } from 'react'
import IframeComponent from './components/Iframe';
class MainComponent extends Component {
handleStatementPrint = () => {
const iframePdf = this.iframePdf.contentWindow;
if (this.iframePdf !== undefined) {
const iframePdf = this.iframePdf.contentWindow;
iframePdf.print();
}
}
render () {
return (
{
this.props.pdfs &&
{ this.iframePdf = frame }}
src={this.props.pdfs.url}
title="iFramePdf"
type="application/pdf"
>
}
);
}
};
export default Statement;
Код: Выделить всё
import React, { Component } from 'react'
class IframeComponent extends Component {
componentDidMount() {
// Load iframe content
}
render () {
return (
);
}
};
export default Iframe;
Базовый реагирующий iframe с обработчиком onLoad
Обработка iframe в React
Содержимое Iframe поступает из API выборки, но я могу получить доступ к iframe и видеть, что контент отлично загружается с помощью ref. Проблема: необходимо загрузить это содержимое в метод компонентDidMount перед вызовом функции handleStatementPrint из другого компонента, который может печатать загруженное содержимое iframe.
Вопросы:
- Так как правильно передать содержимое iframe со ссылками для загрузки содержимого в метод packageDidMount?
- Как передать загруженное содержимое из компонентDidMount в функциях MainComponent, чтобы выполнять действия с загруженным содержимым?
Подробнее здесь: https://stackoverflow.com/questions/476 ... -with-refs
Мобильная версия