【发布时间】:2019-09-15 01:23:31
【问题描述】:
当我尝试访问 ref 对象时,我收到了undefined。我正在映射一组图像并尝试通过 useRef 访问单个图像。
首先,我将useRef初始化如下:
const gridImages = useRef([React.createRef(), React.createRef()])
然后是图像的映射:
<View style={styles.grid}>
{images.map((src, index) => {
const style = index === activeIndex ? activeIndexStyle : undefined
return (
<TouchableWithoutFeedback key={index} onPress={() => handleOpenImage(index)}>
<Animated.Image
source={{ uri: src }}
style={[ styles.gridImage, style ]}
ref={gridImages.current[index]}
/>
</TouchableWithoutFeedback>
)
})}
</View>
当我调用以下方法时,我收到一条错误消息
undefined 不是一个对象(评估 'gridImages.current[index].getNode')
当我console.log 对象gridImages.current 显示没有问题的方法时,但只要我包含index,我就会得到undefined 错误。
const handleOpenImage = index => {
console.log(gridImages.current[index])
gridImages.current[index].getNode().measure((x, y, width, height, pageX, pageY) => {
position.setValue({
x: pageX,
y: pageY,
})
size.setValue({
x: width,
y: height,
})
setActiveImage(images[index])
setActiveIndex(index)
})
}
【问题讨论】:
标签: javascript reactjs react-native react-hooks