React hooks useRef 缓存对象、缓存值
2021-04-26 本文已影响0人
精神病患者link常
1.缓存对象
2.缓存值
1.缓存对象,拿到对象即可对对象操作,比如input的方法,video的方法等
const textInputRef = useRef()
<TextInput ref={textInputRef}/>
2.缓存值
在hook的函数中是没有办法缓存一个值的
export default MineCenter=({ route, navigation })=>{
const [value,setValue] = useState('')
let newValue = 0
return (
<View style={styles.mainView}>
<TouchableOpacity onPress={()=>{
newValue = 1
setValue('你好')
}}>
</TouchableOpacity>
<Text>MineCenter</Text>
</View>
);
};
点击按钮虽然设置了newValue
,但是一旦setValue
,函数重新刷新,newValue
的值又会被重置
如果newValue
也是用�useState
,又造成不必要的刷新
⚠️怎么不刷新又能缓存newValue的值呢?useRef
声明变量
const newValueRef = useRef(0)
点击按钮,就算之后set也正常
newValueRef.current = 1