Reactjs onChange事件返回的元素不是对象

Reactjs onChange事件返回的元素不是对象,reactjs,material-ui,Reactjs,Material Ui,我有这个密码 <Grid item md={4} sm={2} xs={12}> <TextField label="Qty" name="qty" id="qty" variant="filled" type="number&

我有这个密码

<Grid item md={4} sm={2} xs={12}>
            <TextField
              label="Qty"
              name="qty"
              id="qty"
              variant="filled"
              type="number"
              fullWidth
              onChange={itemChange}
              value={item.qty}
            ></TextField>
          </Grid>
          <Grid item md={4} sm={2} xs={12}>
            <TextField
              label="Unit price"
              name="unitPrice"
              variant="filled"
              type="number"
              fullWidth
              onChange={itemChange}
              value={item.unitPrice}
            ></TextField>
          </Grid>
我知道了

但我希望得到一个对象。所以我可以使用target.value或target.name


为什么会发生这种情况?

它是一个对象。但是它在控制台中是这样显示的,因为它是一个DOM元素。您可以在控制台上单击鼠标右键,控制台上显示它是一个对象。但是它在控制台中是这样显示的,因为它是一个DOM元素。您可以在控制台上单击鼠标右键,控制台上显示,您可能只是因为浏览器打印对象的方式而感到困惑。这当然是一个对象,因此您可以将.value或.name添加到e.target.\的末尾,并获得结果

如果将以下内容添加到itemChange函数,则可以确认这是一个对象:

console.log(typeof e.target);
// or even this:
console.log(e.target.toString())
不要忘记在Javascript中,以下是唯一不是对象的东西:

无效的 未定义 串 数字 布尔值 象征 然而,即便如此,它们也有它们的对象对应物


例如,是字符串类型的对象包装器。表示并允许您更改字符序列的对象。

也许您只是因为浏览器打印对象的方式而感到困惑。这当然是一个对象,因此您可以将.value或.name添加到e.target.\的末尾,并获得结果

如果将以下内容添加到itemChange函数,则可以确认这是一个对象:

console.log(typeof e.target);
// or even this:
console.log(e.target.toString())
不要忘记在Javascript中,以下是唯一不是对象的东西:

无效的 未定义 串 数字 布尔值 象征 然而,即便如此,它们也有它们的对象对应物


例如,是字符串类型的对象包装器。表示并允许您更改字符序列的对象。

我在这里没有看到任何意外情况。e、 target是触发事件的元素(在本例中为输入)。您期望它是什么?要访问从MUI更改TextField返回的值,您应该像在大多数情况下一样访问它。e、 目标值。其中,target是触发事件的DOM节点,value是onChange事件捕获的实际值。我在这里没有看到任何意外情况。e、 target是触发事件的元素(在本例中为输入)。您期望它是什么?要访问从MUI更改TextField返回的值,您应该像在大多数情况下一样访问它。e、 目标值。其中,target是触发事件的DOM节点,value是onChange事件捕获的实际值