Используя крючок div React useRef, машинопись?

#reactjs #typescript #react-hooks

#реагирует на #машинописный текст #реагируют-крючки

Вопрос:

Я использую библиотеку qrcode.react и создаю хук useRef

 const qrRef = React.useRef();  

а затем использовать его в

 const downloadQRCode = (evt: React.FormEvent) =gt;{  evt.preventDefault();   // @ts-ignore  let canvas = qrRef.current.querySelector("canvas");  let image = canvas.toDataURL("image/png");  let anchor = document.createElement("a");  anchor.href = image;  anchor.download="qr-code.png";  document.body.appendChild(anchor);  anchor.click();  document.body.removeChild(anchor);    setUrl("");  }; lt;div className="qr-container"gt;  lt;form onSubmit={downloadQRCode} className="qr-container_form"gt;  lt;input  type="text"  value={url}  onChange={(e) =gt; setUrl(e.target.value)}  placeholder="https://example.com"  /gt;  lt;button type="submit"gt;Download QR Codelt;/buttongt;  lt;/formgt;  lt;div className="qr-container_qr-code" ref={qrRef}gt;{qrCode}lt;/divgt; lt;/divgt;  

и я получаю эту ошибку

 Type 'MutableRefObjectlt;undefinedgt;' is not assignable to type 'LegacyReflt;HTMLDivElementgt; | undefined'.  Type 'MutableRefObjectlt;undefinedgt;' is not assignable to type 'RefObjectlt;HTMLDivElementgt;'.  Types of property 'current' are incompatible.  Type 'undefined' is not assignable to type 'HTMLDivElement | null'.ts(2322) index.d.ts(143, 9): The expected type comes from property 'ref' which is declared here on type 'DetailedHTMLPropslt;HTMLAttributeslt;HTMLDivElementgt;, HTMLDivElementgt;'  

В основном все, что ему нужно сделать, это загрузить QR-код, который был сгенерирован.

Ответ №1:

попробуйте инициализировать его с помощью:

 const qrRef = React.useReflt;HTMLDivElementgt;(null);  

Комментарии:

1. Это сработало, спасибо

2. Мило! тогда вы можете принять ответ? 😉