在React.js 0.12这个.key
随着0.12版本的发布, this.props.key
在一个组件中不再可用,不过听起来你可以简单地用this.key
replace它,一切都应该按预期工作。
从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提到它。
文档实际上推荐的是什么(虽然措辞不好),你应该把key
和ref
作为React的内部对象,而不能在组件内部访问。 如果您需要知道密钥,只需将其作为另一个名称不同的属性传递,然后像this.props
一样访问this.props
。
从上面引用:
您不能再从组件实例本身访问this.props.ref和this.props.key。 所以你需要为这些道具使用不同的名字。
一个例子是:
<MyComponent key={foo} reactKey={foo} />
然后作为this.props.reactKey
访问里面。