如何在不渲染功能组件的情况下更改useState的状态

how to change useState's state without render in functional component

如何在功能组件中不渲染的情况下更改 useState 的状态

    const [imageId, setimageId] = useState(0);
    const Slide = () => {
            return (
                slides.map((item, index) => (
                    <View style={styles.slide}>
                        <TouchableOpacity onPress={()=>setimageId(index)} >
                            <Image source={item.image}} />
                        </TouchableOpacity>
                    </View>
                ))
            )
        }

当我在 onPress 幻灯片组件中更改状态时重新呈现并再次加载图像

那么如何在不渲染幻灯片组件的情况下改变状态

您需要创建一个位于 slides.map(...) 内并拥有自己状态的组件。

如果您更改 Slide 的状态,它将呈现组件 Slide,这基本上就是挂钩的想法 useState

您也可以查看 useRef 文档。当您想在不渲染的情况下更改组件中的值时,您通常需要使用 useRef 钩子,而不是 useState