代码之家  ›  专栏  ›  技术社区  ›  Roopak PutheVeettil

我可以在react组件[duplicate]中获取密钥的值吗

  •  1
  • Roopak PutheVeettil  · 技术社区  · 7 年前

    有没有办法让我进入我的房间 key 在我的 react component ?

       <LessonsLearnedNew
            key={item.id ?item.id[0]:item.tempID}
    
       />
    
      class LessonsLearnedNew extends Component {
          constructor(props) {
          console.log(props.key)  // coming as undefined
        }
      }
    

    我找到了这样的工作。有更好的办法吗?

    <LessonsLearnedNew
                key={item.id ?item.id[0]:item.tempID}
                keyVal={item.id ?item.id[0]:item.tempID}
    
           />
    
          class LessonsLearnedNew extends Component {
              constructor(props) {
              console.log(props.key)  // coming as undefined
              console.log(props.keyVal)  // getting the value
            }
          }
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Sagiv b.g    7 年前

    密钥不会传递给组件。
    DOCS :

    const content = posts.map((post) =>
      <Post
        key={post.id}
        id={post.id}
        title={post.title} />
    );
    

    所以你的“变通方法”实际上是建议的模式。

        2
  •  1
  •   Asif vora    7 年前

    Key 是一个独特的身份反应。所以如果你有任何值给另一个组件,用 props 钥匙总是那么独特。

     <LessonsLearnedNew
        key={item.id ?item.id[0]:item.tempID} //unique identity
        keyVal={item.id ?item.id[0]:item.tempID} // pass value as a props
      />