Если вы хотите распечатать определенные данные, к которым у вас уже есть доступ, будь то из магазина, AJAX или доступны в другом месте, вы можете использовать функцию обратной печати в библиотеке.
https://github.com/captray/react-print
Это позволяет создавать шаблоны для печати гораздо проще (если у вас уже есть зависимость от реакции). Вам просто нужно пометить свой HTML соответствующим образом.
Этот идентификатор должен быть добавлен выше в вашем фактическом дереве DOM, чтобы исключить все, кроме «установки для печати» ниже.
<div id="react-no-print">
Это где ваш компонент реагировать-печать будет монтировать и обернуть шаблон, который вы создаете:
<div id="print-mount"></div>
пример выглядит примерно так:
var PrintTemplate = require('react-print');
var ReactDOM = require('react-dom');
var React = require('react');
var MyTemplate = React.createClass({
render() {
return (
<PrintTemplate>
<p>Your custom</p>
<span>print stuff goes</span>
<h1>Here</h1>
</PrintTemplate>
);
}
});
ReactDOM.render(<MyTemplate/>, document.getElementById('print-mount'));
Стоит отметить, что вы можете создавать новые или использовать существующие дочерние компоненты внутри вашего шаблона, и все должно выглядеть отлично для печати.
Я проверяю его, потому что я использую его прямо сейчас.Но это нехорошее решение, потому что это будет заблокировано в большинстве браузеров (Firefox и Chrome), потому что оно ведет себя как всплывающее окно. – AndryName
Я не уверен, что понимаю. Ни одно из решений, о которых я говорил, не вызовет блокировщик всплывающих окон. Использование CSS не будет, использование существующего iframe не будет и использование метода сервера определенно не будет. Можете ли вы объяснить, что вы имеете в виду? –
http://www3.govst.edu/webct/webct6/student/popups/step2.gif – AndryName