【发布时间】:2022-10-23 23:25:56
【问题描述】:
我正在使用 react typescript 和 EmailJS 作为表单。我已复制文档代码,但出现 ref 类型错误。 下面是代码,然后我显示了错误。
ref={form} 给出了错误。这和状态声明可能是与错误相关的唯一行。
import React, { useRef } from 'react';
import emailjs from '@emailjs/browser';
export const ContactUs = () => {
const form = useRef();
const sendEmail = (e) => {
e.preventDefault();
emailjs.sendForm('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', form.current, 'YOUR_PUBLIC_KEY')
.then((result: { text: any }) => {
console.log(result.text);
}, (error: { text: any }) => {
console.log(error.text);
});
};
return (
<form ref={form} onSubmit={sendEmail}>
<label>Name</label>
<input type="text" name="user_name" />
<input type="submit" value="Send" />
</form>
);
};
(属性) React.ClassAttributes.ref?: React.LegacyRef |不明确的
类型“MutableRefObject”不可分配给类型“LegacyRef |不明确的'。 类型“MutableRefObject”不可分配给类型“RefObject”。 属性“当前”的类型不兼容。 类型“未定义”不可分配给类型“HTMLFormElement |空'.ts(2322)
index.d.ts(137, 9):预期类型来自属性 'ref',它在此处声明类型为 'DetailedHTMLProps<FormHTMLAttributes, HTMLFormElement>'
【问题讨论】:
标签: reactjs typescript use-ref