useRef
来源:3-14 useRef - 多次渲染之间的纽带

诺巴蒂
2020-06-30
我用 useState 代替,默认值传入一个 {current: xxx},然后不通过 setXXX ,更新,直接自身++,是不是也一个效果;
const [like, setLike] = useState({ current: 1})
...
like.current++
...
只是突然想到的,还没测试,因为我感觉 useRef 只是利用了一下对象的引用地址,而调用 setState 会将这个地址更新导致不一样
写回答
1回答
-
同学你好 非常好的思考!你的理解是正确的 看这个帖子就知道 https://www.reddit.com/r/reactjs/comments/aufijk/useref_is_basically_usestatecurrent_initialvalue_0/ dan(react 作者之一) 说到:
useRef() 基本上就是 useState({current: initialValue })[0] 源代码其实就这样: // an immutable object with a single mutable value export function createRef(): RefObject { const refObject = { current: null, }; if (__DEV__) { Object.seal(refObject); } return refObject; }
312020-07-01
相似问题
请问老师关于ref的类型定义
回答 1
发现脑图里有个错误,useRef写错了
回答 1