我是反應新手,我對 React 如何在每個新輸入的擊鍵上運行更新有點困惑,例如,這是表單,我想在每次擊鍵時更新狀態
import React, {useState} from 'react';
let FormsPractice =()=>{
let [data, updateData] =useState('')
let handleChange =(event)=>{
let {value} = event.target;
updateData(value)
}
return(
<div className ="container">
<form >
<input
type="text"
placeholder="Enter name"
name="name"
value={data}
onChange={handleChange}
/>
</form>
</div>
)
}
export default FormsPractice
這里我不明白的是更新周期,我的理解如下:
由于輸入的值與反應狀態相關聯,輸入的初始值顯然是“”。
現在我來重點:
=> 當keystorke發生時,假設輸入了一個“a”字符;
=> 呼叫了 handleChange 方法;
=> event.target.value,它是回傳“a”(作為輸入自身狀態的值)還是回傳空,因為該值與狀態相關聯(value={data} 我不確定是什么在這種情況下,狀態被分配給值)希望我能理解這一點
謝謝
uj5u.com熱心網友回復:
onChange事件處理程式是一個可以傳遞給 <input>元素的道具。它實時監聽用戶輸入。
每當您在輸入中鍵入內容時,React 都會觸發您傳入的函式,onChange該函式呼叫您作為引數傳遞的函式。在您的情況下,您正在呼叫 handleChange. 傳遞給 handleChange 函式的事件物件包含有關輸入事件的所有詳細資訊。
在您的情況下,當您在輸入中鍵入“a”時,react 將觸發 handleChange 此功能,將狀態從data = ""value={data} ==> value="" 更新為data ="a" value={data} ==> value="a"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/503648.html
標籤:javascript 反应 前端 网络部署 使用状态
