【发布时间】:2020-05-09 11:15:35
【问题描述】:
虽然我为 SearchDropDownItem 定义了一个键,但它显示了一个警告
组件下拉
filteredItems.length > 0 ? (
filteredItems.map(item => {
return (
<SearchDropDownItem
item={item}
buttonTitle={{ buttonJoin: content.buttonJoin }}
onItemSelect={onItemSelect}
/>
);
})
) : (
<SearchDropDownItem emptyList={content.noCommunityFound} />
)
searchDropDownItem 组件:
const SearchDropDownItem = ({
item = { },
onItemSelect,
buttonTitle = "",
emptyList
}) => {
return (
<DropdownItem key={item.id || 1}>
{!emptyList ? (
<Box>
<Span>{item.name} </Span>
<JoinButton
item={item}
index={item.id}
onSuccess={onItemSelect}
content={buttonTitle}
/>
</Box>
) : (
<Box>
<Span>{item.emptyList}</Span>
</Box>
)}
</DropdownItem>
);
};
警告:列表中的每个孩子都应该有一个唯一的“key”道具。检查SearchBox的渲染方法。
在 SearchDropDownItem 中(在 SearchBox/index.jsx:52)
【问题讨论】:
-
key需要在DropDown中,也就是地图所在的地方。
标签: javascript arrays reactjs react-native ecmascript-6