在React.js 0.12这个.key

随着0.12版本的发布, this.props.key在一个组件中不再可用,不过听起来你可以简单地用this.keyreplace它,一切都应该按预期工作。

从React v0.12文档 :

这意味着你需要重命名:someElement.props.key – > someElement.key

但是当我尝试访问我的组件的render()函数中的this.key ,我得到一个undefined

看我的笔来说明这个问题: http : //codepen.io/anon/pen/jaczr?editors=100

也:

React组件的实例在渲染时在React内部创build。 这些实例在后续渲染中被重用,并且可以像这样在你的组件方法中被访问。

我该如何访问组件的密钥?

UPDATE

GitHub上存在这个问题,这个问题很多。 感谢HEAP提到它。

文档实际上推荐的是什么(虽然措辞不好),你应该把keyref作为React的内部对象,而不能在组件内部访问。 如果您需要知道密钥,只需将其作为另一个名称不同的属性传递,然后像this.props一样访问this.props

http://facebook.github.io/react/blog/2014/10/16/react-v0.12-rc1.html#breaking-change-key-and-ref-removed-from-this.props

从上面引用:

您不能再从组件实例本身访问this.props.ref和this.props.key。 所以你需要为这些道具使用不同的名字。

一个例子是:

 <MyComponent key={foo} reactKey={foo} /> 

然后作为this.props.reactKey访问里面。