繁体   English   中英

关键道具存在于列表项上,但仍然收到关键警告

[英]Key prop exists on list item but still getting key warning

我已经看到了这个问题的所有形式,但我似乎无法弄清楚究竟出了什么问题。 我没有提取我的列表项,我只是显示一个 UL 并且我为每个列表项提供了一个唯一的键。 当我控制台注销结果时,我得到如下信息:

0:
    $$typeof: Symbol(react.element)
    key: "85110d30-0a52-4b95-bae2-e98a8a7e4e2c"

在我的父组件中:

<Route path='/projects/'>
    { isLoading ? (
        <div>
            <p>Loading...</p>
        </div>
    ) : (
        [
            <ProjectList projects={this.state.userProjects} />,
            <CreateProject handler={this.handleNewProject} user={user} />
        ]
    )}

在 ProjectList 组件中:

const results = props.projects.map( (result) =>
    <li key={result.MembershipId}>
        <Link to={ `${match.url}/${result.ProjectId}` }>{result.ProjectName}</Link>
    </li>
);

return (

    <React.Fragment>
        <h2>My Projects</h2>
        { results.length ? (
            <ul>{results}</ul>
        ) : (
            <p>You are not part of any projects yet. You can create one!</p>
        )}
        
    </React.Fragment>
    
);

如果我理解正确的话, li 是最外层的元素。 ID 不是未定义的。 但是我仍然不断收到关键警告。 任何人都知道发生了什么事?

这是因为您在路由中返回一个数组作为子项而不添加键吗?

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM