react-native - React Native 中的 ref 未定义
问题描述
有人可以帮我弄清楚在 RN 中使用 setNativeProps 的最佳方法是什么?
在我的反应功能组件中,我做了这样的事情
const AutoComplete = (props) => {
let parentViewRef = null
useEffect(() => {
setTimeout(function(){ console.log(parentViewRef) }, 3000)
},[])
return(
<View
ref={(viewRef) => {
parentViewRef = viewRef
}}
style={styles.modelOpenViewMain}> <View style={styles.modelOpenInputView}>
</View>
</View>
)
}
}
但不幸的是,我的 parentViewRef 是未定义的。知道我做错了什么吗?
解决方案
如果我正确理解您要实现的目标,那么您应该使用useRef挂钩。
所以你的代码看起来像这样:
import React, { useRef } from 'react';
const AutoComplete = (props) => {
let parentViewRef = useRef(null);
return(
<View
ref={parentViewRef}
style={styles.modelOpenViewMain}> <View style={styles.modelOpenInputView}>
</View>
</View>
)
}
}
然后,您将能够通过其current
属性对您的 ref 做任何您想做的事情,例如
parentViewRef.current.
...
希望这可以帮助!