Я изменяю свой компонент класса на компонент функции и застреваю на рендере PDF. Это работало нормально в компоненте класса. Документы Kendo имеют только руководство по использованию компонента класса.
Этот компонент просто отображает HTML и дает пользователю возможность загрузить PDF.
import React, { Fragment } from 'react';
import { firestoreConnect } from 'react-redux-firebase';
import { connect } from 'react-redux';
import { compose } from 'redux';
import { PDFExport } from '@progress/kendo-react-pdf';
import { PdfButton } from 'components/StyledButtons';
import {
Container,
CircularProgress
} from '@material-ui/core';
function ViewProject({ _project, props }) {
const exportBriefing = id => e => {
this[id].save();
};
return (
<Fragment>
{_project && (
<Container maxWidth="md">
<PdfButton onClick={exportBriefing(_project.id)} />
<PDFExport
pageTemplate={DocumentTemplate}
paperSize={'A4'}
margin="1.5cm"
scale={0.7}
fileName={'Project_Brief'}
ref={r => (this[_project.id] = r)}
>
<---HTML content here--->
</PDFExport>
</Container>
)}
{!_project && (
<CircularProgress />
)}
</Fragment>
);
}
const mapStateToProps = ({ firestore: { ordered } }) => ({
_project: ordered.project && ordered.project[0],
});
export default compose(
connect(mapStateToProps),
firestoreConnect(props => [
{ collection: 'projects', storeAs: 'project', doc: props.match.params.id },
])
)(ViewProject);
Это моя ошибка (где hY2MWyk4piTBjhpJDFI c является идентификатором do c):
Заранее благодарим за любые предложения.