簡體   English   中英

在反應中使用 emailjs(不是打字稿)

[英]Using emailjs in react(not typescript)

在此處輸入圖像描述

在此處輸入圖像描述

我在反應中使用 emailjs 庫。 當我提交表單時,服務器出現 400 錯誤。 第一張圖片 public/index.html。 第二張圖片是關於表格的。

我知道sendForm方法中的第二個參數是 template_id,最后一個是 user_id。 難道我做錯了什么?

我不明白你為什么要在public/index.html中添加腳本。 如果您使用的是 React,則無需在 HTML 中添加任何腳本。

在 React 中實現 emailJS 時要記住的要點:

  • 安裝 emailJS 並從@emailjs/browser導入 emailJS
  • 使用useRef掛鈎創建引用。
  • 提供必要的憑證。
  • 正確使用ref形式。
  • input 元素中的name屬性應該與您在 emailJS 網站中使用的完全匹配。

sendEmail function 中,我沒有看到任何錯誤。 我建議您重新檢查 html 表單並按照我在下面附加的代碼片段進行操作。

您可以在終端中運行以下命令來安裝它。

npm install @emailjs/browser --save

然后你就可以按照這個代碼片段來實現了。

 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_USER_ID').then((result) => { console.log(result.text); }, (error) => { console.log(error.text); }); }; return ( <form ref={form} onSubmit={sendEmail}> <label>Name</label> <input type="text" name="user_name" /> <label>Email</label> <input type="email" name="user_email" /> <label>Message</label> <textarea name="message" /> <input type="submit" value="Send" /> </form> ); };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM