我将制作一个简单的简历生成应用。
Index.js:
import ReactDOM from "react-dom";
import Resume from "../components/resume";
import React, { useRef } from "react";
import { useReactToPrint } from "react-to-print";
const App = () => {
const componentRef = useRef();
const handlePrint = useReactToPrint({
content: () => componentRef.current
});
return (
<div className="bg-gray-200 p-6">
<button
type="button"
className="bg-gray-500 border border-gray-500 p-2 mb-4"
onClick={handlePrint}
>
{" "}
Print Resume{" "}
</button>
<Resume ref={componentRef} />
</div>
);
};
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
简介:简历是从
components/resume.js
文件生成的,它是一个函数式组件。我正在使用react-to-print库仅打印简历组件。还从这里参考了内容。但在我的应用程序中,如果我点击“打印简历”按钮,则无法打印简历。相反,我会得到以下警告:1. 功能组件无法获得引用。访问引用的尝试将失败。您是否打算使用React.forwardRef()?2. 要使“react-to-print”工作,只能打印基于类的组件。要解决这个问题,请看一下完整的可行示例链接并单击“打印简历”按钮进行测试:https://codesandbox.io/s/tailwind-react-sandbox-forked-uivc8。