有没有人知道是否可以从无状态组件onClick
处理程序访问引用?
例如:
function MyComponent ({myProp}) {
var userFeedbackNode
return <div>
<textarea ref={(c) => userFeedbackNode = c}/>
<button onClick={()=> {
//do something with the userFeedbackNode here.
}}>Send</button>
</div>
}
我相信这种方法确实有效,但是这样分配和访问引用有什么问题吗?
谢谢!
答案 0 :(得分:0)
是即可。您不能将ref附加到函数组件本身,但您可以在其中获取ref
组件(如果它们本身不是功能组件)。您需要将变量引用保留在functionnal组件本身的范围之外,如下所示:
let _inputRef
const MyComponent = (props) =>
<input type=text ref={ref => typeof _inputRef == 'undefined' ? ref : _inputRef} />
所以是的,它是可行的,但是相当无用,因为函数组件没有生命周期方法,你可能需要使用该参考。