Reactjs 值属性未在函数中显示字符串

Reactjs 值属性未在函数中显示字符串,reactjs,material-ui,Reactjs,Material Ui,当在材质UI菜单项上调用onClick且值属性为字符串时,事件函数将该值视为零 如果我向其他元素(如按钮)添加value=“sometext”,效果很好。我对此还是新手,但字符串值似乎应该显示出来 我做错了什么 handleClose(e) { console.log(e.currentTarget) console.log(e.currentTarget.value) } ... return ( <Menu> <MenuItem value={1}

当在材质UI菜单项上调用onClick且值属性为字符串时,事件函数将该值视为零

如果我向其他元素(如按钮)添加value=“sometext”,效果很好。我对此还是新手,但字符串值似乎应该显示出来

我做错了什么

handleClose(e) {
  console.log(e.currentTarget)
  console.log(e.currentTarget.value)
}

...

return (
  <Menu>
    <MenuItem value={1} onClick={this.handleClose}>One</MenuItem>
    <MenuItem value='A' onClick={this.handleClose}>Two</MenuItem>
  </Menu>
);
handleClose(e){
console.log(例如currentTarget)
console.log(e.currentTarget.value)
}
...
返回(
一个
两个
);
在本例中,如果单击第一个菜单项,控制台输出将如预期的那样:

<li ... value="1">...</li>
1

1.
但第二个菜单项我希望是“A”,但它返回:

<li ... value="A">...<li>
0
  • 0

  • 我尝试使用字符串变量,使用target而不是currentTarget。我可以使用id=“A”代替value属性,这很有效,但我想了解为什么会发生这种情况。

    li value属性必须是一个数字。
    0可能是默认值,因此当您将其设置为“A”时,它将获得默认值


    作为旁注:

    根据,li值属性在无序列表中没有意义(材质ui菜单使用引擎盖下的
      ,这是无序列表)

      此整数属性表示列表的当前序号值 由元素定义的项。此项的唯一允许值 属性是一个数字,即使列表以罗马字母显示 数字或字母。列出此项之后的项目是否继续 从值集中进行编号。value属性对其他属性没有意义 无序列表(
        )或菜单(


        你想用这个值做什么?我正在学习JavaScript+React。因此,测试传递值的各种方式。这只是一个奇怪的案例,似乎毫无意义。我的教程将value=“something”列为传递数据的一种方式。是的,语法
        prop=“value”
        是传递字符串作为prop值的有效方式。我建议您找一个不同的道具或不同的组件来测试这一点,因为
        MenuItem
        value
        prop必须是一个数字,而且无论如何都没有用。例如,
        TextField
        有一个
        label
        prop,它允许使用字符串,并且查看结果更有意义。我从未想过要查看li文档。谢谢。@chris358请注意,
        值并没有列为可接受的道具。这是一条你不应该使用它的线索。