如何解决onBeforeGetContent 不使用 react-to-print 呈现
我使用 react-to-print,但遇到了问题。执行 onBeforeGetContent 时不要更新此组件。我的 var num 从不取值,但在控制台中显示“是”和 API 收到的数字。 我需要打印一张带有类型和编号的票。 这是我的代码。 PD:我是 React 新手。
export default function AdmisionComponent() {
const classes = useStyles();
const [num,setNum] = useState("");
const componentRef = useRef();
const handlePrint = useReactToPrint({
//onBeforePrint: () => promise(),onBeforeGetContent: () => promise(),content: () => componentRef.current,});
const promise = () =>{ new Promise((resolve,reject) => {
console.log('init');
axios.post("/admision").then(response =>{
setNum(response.data);
console.log(response.data);
resolve(console.log("yes"));
}).catch(response =>{
reject(console.log("no"));
});
})
const createT = () =>{
axios.post("/admision").then(response =>{
setNum(response.data);
console.log(response.data);
}).catch(null);
}};
return (
<div className={classes.root}>
<div className={classes.p}>
<Print ref={componentRef} typeT= {"A"} num={num}/>
</div>
<Link to= "/">
<ButtonBase
focusRipple
key="Admision"
className={classes.image}
onClick={handlePrint}
//onClick={() => createT()}
focusVisibleClassName={classes.focusVisible}
>
<span
className={classes.imageSrc}
style={{
backgroundImage: `url(${boton_tramites})`,}}
/>
<span className={classes.imageButton}>
<Typography
component="span"
variant="subtitle1"
color="inherit"
className={classes.imageTitle}
>
ADMISIÓN
<span className={classes.imageMarked} />
</Typography>
</span>
</ButtonBase>
</Link>
</div>
);
}
onBeforePrint 和 onBeforeGetContent 运行 promise 并更改状态,但不呈现 Print 组件。就我而言,我认为我应该使用 onBeforeGetContent。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。