有人可以帮助我弄清楚在RN中使用setNativeProps的最佳方法是什么。
在我的react函数组件中,我做了类似的事情
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不确定。知道我做错了什么吗?
答案 0 :(得分:1)
如果我正确理解了您要实现的目标,那么您应该使用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
属性(例如
parentViewRef.current.
...
希望这会有所帮助!
答案 1 :(得分:0)
尝试将parentViewRef作为参数传递给useEffect方法。
const AutoComplete = (props) => {
let parentViewRef = null
useEffect(() => {
console.log(parentViewRef);
}, [parentViewRef]);
return (
<View
ref={(viewRef) => parentViewRef = viewRef}>
<View >
<Text>CONTENT TEXT</Text>
</View>
</View>
)}