【发布时间】:2015-06-08 13:10:58
【问题描述】:
所以,从https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute中提取
ref 属性可以是回调函数而不是名称。此回调将在组件挂载后立即执行。被引用的组件将作为参数传入,回调函数可能会立即使用该组件,也可能保存引用以备将来使用(或两者兼而有之)。
然后它只给出了一个立即使用该组件的例子。我正在尝试找出我将如何使用此功能立即访问组件,并保存组件以供将来使用,正如它所说的那样,我们能够做到。
继续他们特定的focus() 和theInput 示例,我如何在输入元素上调用focus(),并将其保存到引用中的theInput 键?
或者换一种说法,我如何让这个小提琴中的console.log 返回一个带有输入元素组件参考的theInput 键的对象:https://jsfiddle.net/qo3p3fh1/1/
【问题讨论】:
-
我已经尝试返回一个值:
<input type="text" ref={ function(component) { React.findDOMNode( component ).focus(); return 'theInput'; } } />- 运气不好 -
我已经尝试将它手动分配给 this.refs
var self = this; <input type="text" ref={ function(component) { self.refs.theInput = component; React.findDOMNode( component ).focus(); } } />(更多的是出于绝望 - 我知道官方建议不要在渲染函数中使用 this.refs)。还是没有运气
标签: reactjs