问题描述
将模块 @react-pdf/renderer
与官方示例 (https://snyk.io/advisor/npm-package/@react-pdf/renderer) 一起使用:
import ReactPDF,{ Document,Page,Text,View,StyleSheet } from '@react-pdf/renderer';
// Create styles
const styles = StyleSheet.create({
page: {
flexDirection: 'row',backgroundColor: '#E4E4E4'
},section: {
margin: 10,padding: 10,flexGrow: 1
}
});
// Create Document Component
const MyDocument = (): JSX.Element => (
<Document>
<Page size="A4" style={styles.page}>
<View style={styles.section}>
<Text>Section #1</Text>
</View>
<View style={styles.section}>
<Text>Section #2</Text>
</View>
</Page>
</Document>
);
ReactPDF.render(<MyDocument />,`example.pdf`);
错误:render 是 Node 特定的 API。你要么使用这种方法 在浏览器中,或者您的打包器没有从 适当的网络构建。
解决方法
render 函数只在服务器端工作,react 在客户端工作,如果你想在浏览器中渲染,请检查 ReactDOM.render 函数是否使用了 PDFViewer 组件。