Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MUI中的钥匙<;列表项>;不是强制性的吗?_Javascript_Reactjs_Material Ui - Fatal编程技术网

Javascript MUI中的钥匙<;列表项>;不是强制性的吗?

Javascript MUI中的钥匙<;列表项>;不是强制性的吗?,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我目前正在使用Typescript(3.5.1)、React(16.8.6)、Material Ui(v4)和CRA制作菜单。我正在使用物料界面中的列表。我忘记在我的列表项上添加键,并且在开发工具中没有任何警告 我认为在列表项中强烈推荐使用键?我已经在其他组件中收到警告,当没有为列表项提供键时,因此我尝试运行一些测试 // This code shows no warning when rendered, even if no key // was provided to the ListIte

我目前正在使用Typescript(3.5.1)、React(16.8.6)、Material Ui(v4)和CRA制作菜单。我正在使用物料界面中的
列表
。我忘记在我的
列表项上添加
,并且在开发工具中没有任何警告

我认为在列表项中强烈推荐使用键?我已经在其他组件中收到警告,当没有为
列表项
提供键时,因此我尝试运行一些测试

// This code shows no warning when rendered, even if no key
// was provided to the ListItem

render(){
  return(
    <List>
    {  [
        {text: 'files', icon: <FolderIcon />, path: '/my-files/'},
        {text: 'shared files', icon: <SharedIcon />, path: '/shared-files'},
      ].map(item => (
               <ListItem button>
                 <ListItemIcon>{item.icon}</ListItemIcon>
                 <ListItemText>{item.text}</ListItemText>
               </ListItem>
            ))}
       }
    <List>
  )
}
//此代码在呈现时不显示警告,即使没有键
//已提供给列表项
render(){
返回(
{  [
{文本:“文件”,图标:,路径:'/my files/'},
{文本:'共享文件',图标:,路径:'/shared files'},
].map(项目=>(
{item.icon}
{item.text}
))}
}
)
}
然而:

// This code shows the warning "Each child in a list should have a unique "key" prop." when rendered

render(){
  const items = [
                  {text: 'files', icon: <FolderIcon />, path: '/my-files/'},
                  {text: 'shared files', icon: <SharedIcon />, path: '/shared-files'},
                 ]
  return(
    <List>
     { items.map(item => (
               <ListItem button>
                 <ListItemIcon>{item.icon}</ListItemIcon>
                 <ListItemText>{item.text}</ListItemText>
               </ListItem>
            ))}
      }
    <List>
  )
}
//此代码在呈现时显示警告“列表中的每个子项都应具有唯一的“键”属性”
render(){
常数项=[
{文本:“文件”,图标:,路径:'/my files/'},
{文本:'共享文件',图标:,路径:'/shared files'},
]
返回(
{items.map(item=>(
{item.icon}
{item.text}
))}
}
)
}
我真的不明白这两个版本之间的区别是什么,除了我在第二个例子中使用了一个变量


有人知道为什么吗?

警告是什么?事实上,我忘了指定它。我的错。这是经典的“列表中的每个孩子都应该有一个唯一的“关键”道具。”我正在编辑这篇原创文章,供未来的人看到:)我在这两种情况下都看到了警告。我现在也有一个警告。我真的不知道发生了什么。很抱歉打扰了你们,谢谢:)警告是什么?我确实忘了说明。我的错。这是经典的“列表中的每个孩子都应该有一个唯一的“关键”道具。”我正在编辑这篇原创文章,供未来的人看到:)我在这两种情况下都看到了警告。我现在也有一个警告。我真的不知道发生了什么。很抱歉打扰了你们,谢谢:)