Сценарий server.js
вact-dom позволяет вам визуализировать компонент React в статической html-строке. Вы можете потребовать это в своем коде как:
const ReactDOMServer = require('react-dom/server');
Или используя синтаксис ES6:
import ReactDomServer from 'react-dom/server'
После этого вы можете отобразить ваш компонент в HTML-строку, используя функции ReactDomServer.renderToString
или ReactDomServer.renderToStaticMarkup
следующим образом:
const htmlStr = ReactDomServer.renderToStaticMarkup(<MyComponent prop1={'value1'} />);
Это выглядит почти так же, как ReactDom.render
, за исключением того, что ему не требуется второй параметр узла dom для рендеринга, и возвращается строка html. Кроме того, этот метод может использоваться как на стороне клиента, так и на стороне сервера. Для вашего случая использования generate-pdf достаточно renderToStaticMarkup
. При необходимости проверьте документацию по следующей ссылке, чтобы узнать разницу между двумя упомянутыми выше методами: https://reactjs.org/docs/react-dom-server.html