反应 canvas 对 blob 的引用?
react canvas reference to blob?
所以我想要一个 canvas 元素作为反应中的一个 blob,用本地打印机打印它。请不要介意所有打印机逻辑。它成功地将 canvas 打印为反应元素,因此我不认为它与 canvas 本身有任何关系。
export const barcode = (props) => {
const canvasReference = useRef(null)
const [loaded, setLoaded] = useState(false)
useEffect(() => {
//creates the canvas with content
bwipjs.toCanvas('barcode', ...)
setLoaded(true)
}
if(setLoaded) {
window.Printer.init(
(printer) => {
canvasReference.toBlob((blob) => { // <-- FAILS
printer.printBlob(
blob,
(msg) => {
console.log('yay')
},
(error) => {
console.error(error)
}
}
}
},
(error) => {
console.error(error)
}
}
return <canvas ref={canvasReference} id="barcode" />
}
TypeError: canvasReference.toBlob is not a function
如果我尝试获取 canvasReference
的属性,它会确认它不具有 HTMLCanvasElement.toBlob()
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob.
的等价物
我怎样才能让我的 canvas 成为一个具有 React 的 blob?
useRef
挂钩的引用存储在 current
属性 中。
canvasReference.current.toBlob()
您需要访问.current
才能访问DOM节点。 https://reactjs.org/docs/refs-and-the-dom.html#accessing-refs
所以我想要一个 canvas 元素作为反应中的一个 blob,用本地打印机打印它。请不要介意所有打印机逻辑。它成功地将 canvas 打印为反应元素,因此我不认为它与 canvas 本身有任何关系。
export const barcode = (props) => {
const canvasReference = useRef(null)
const [loaded, setLoaded] = useState(false)
useEffect(() => {
//creates the canvas with content
bwipjs.toCanvas('barcode', ...)
setLoaded(true)
}
if(setLoaded) {
window.Printer.init(
(printer) => {
canvasReference.toBlob((blob) => { // <-- FAILS
printer.printBlob(
blob,
(msg) => {
console.log('yay')
},
(error) => {
console.error(error)
}
}
}
},
(error) => {
console.error(error)
}
}
return <canvas ref={canvasReference} id="barcode" />
}
TypeError: canvasReference.toBlob is not a function
如果我尝试获取 canvasReference
的属性,它会确认它不具有 HTMLCanvasElement.toBlob()
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob.
我怎样才能让我的 canvas 成为一个具有 React 的 blob?
useRef
挂钩的引用存储在 current
属性 中。
canvasReference.current.toBlob()
您需要访问.current
才能访问DOM节点。 https://reactjs.org/docs/refs-and-the-dom.html#accessing-refs