天天看點

七爪源碼:React 專業提示:如何管理表單

如果您使用可變資料處理 Web 應用程式,則必須學習處理表單。 在我看來,理想的使用者體驗是當使用者在輸入字段中看到實際資料,并且可以通過送出按鈕輕松更新它; 我将在本文中解釋 React 應用程式中的表單更新流程。

七爪源碼:React 專業提示:如何管理表單

必須首先從資料庫中提取必須更新的資料,我們需要一個狀态來存儲和顯示在 UI 表單上。

第一步是資料擷取

const App = () => {  const [name, setName] = useState<string>('')
  const [email, setEmail] = useState<string>('')  const getData = async () => {
    const response = await fetch('url...').then((response) => response.json())
    setName(response.name)
    setEmail(response.email)
  }  useEffect(() => {
    getData()
  }, [])  return (
    <form>
      <input type="text" value={name} />
      <input type="text" value={email} />
    </form>
  )
}           

上面我們定義了狀态(姓名,電子郵件),定義了一個擷取資料并将資料值設定為狀态的函數(getData),在元件(頁面)渲染上運作該函數(在 useEffect 中),并将狀态值傳遞給 呈現的輸入字段。

偉大的。 現在,當在輸入字段中更改狀态的值時,必須以某種方式修改狀态。 我們可以通過将狀态設定器函數(setName 和 setEmail)傳遞給帶有 event 參數的輸入 onChange 屬性來實作

event = 在 React 元件中始終可用的對象攜帶有關其目标的資訊,在這種情況下,是輸入字段及其值

是以,我們必須更新我們的輸入字段

更新輸入字段

...return (
    <form>
      <input
        type="text"
        value={name}
        onChange={event => setName(event.target.value)}
      />
      <input
        type="text"
        value={email}
        onChange={event => setEmail(event.target.value)}
      />
    </form>
  )
}           

現在我們隻剩下一件事要做了。 建立一個送出按鈕和一個更新資料庫中資料的函數

建立一個送出按鈕和一個點選它運作的功能

...
const getData = async () => {
   const response = await fetch('url...').then((response) => response.json())
  setName(response.name)
  setEmail(response.email)
}
useEffect(() => {
  getData()
}, [])
const submit = (name: string, email: string) => {
  ...API or service call with name and email arguments
}
return(
    <form>
      <input
        type="text"
        value={name}
        onChange={event => setName(event.target.value)}
      />
      <input
        type="text"
        value={email}
        onChange={event => setEmail(event.target.value)}
      />
      <button onClick={() => submit(name, email)}>
        Submit
      </button>
    </form>
  )           

我們可以将狀态作為參數傳遞給送出函數,因為我們總是使用新的輸入值更新它們。

是以流程基本上是這樣的:

七爪源碼:React 專業提示:如何管理表單

在元件渲染中,我們使用 fetch 中的值更新狀态,不斷更新它們,在送出時,我們将它們作為參數傳遞給送出函數。

我希望你發現這對你尋找新的學習材料很有用。 感謝您抽出時間來閱讀!

關注七爪網,擷取更多APP/小程式/網站源碼資源!

繼續閱讀