首页 > 解决方案 > 使用钩子形成 onChange 事件不会更新变量

问题描述

当我 console.log(event.target.data) 它是未定义的。它会在控制台记录任何密钥时进行某种更新。

  const [oras,setOras]=useState(null);

  function getData(event)
  {
    event.preventDefault();
    setOras(event.target.data);
    console.log(event.target.data);
  }
      
   <FormControl aria-label="First name" placeholder="Search" onChange={getData}/>

标签: htmlreactjs

解决方案


更改onChange道具如下:

<FormControl aria-label="First name" placeholder="Search" onChange={event => {getData(event)}/>

getData功能为:

function getData(event)
  {
    event.preventDefault();
    setOras(event.target.value);
    console.log(event.target.value);
  }

如果FormControl是 jsx input,那么要访问输入值,onChange={event => {getData(event)}您必须event.target.valuegetData函数中使用(如上所示),而不是event.target.data(您编写它的方式)。


推荐阅读