Hooks:怎么useEffect的返回中取到的不是最新值?why?

来源:3-8 useEffect 第二部分 - 有始有终

yxnne

2020-03-27



老师 你好~
请问下 这里的 beforeRender / remove effect都打印的是 position.x, 既然在一次渲染中befroeRender是先于remove effect 被调用的,假设这时候position.x的数值已经是588了,那后调用的remove effect 不是也应该是 588吗?
为什么是上一次的值0呢?

写回答

1回答

张轩

2020-03-28

同学你好 建议再认真看一些这几节和 effect 相关的课欧 removeEffect remove 的上一次的遗留下来的 effect 就像一个时光机 把上次留下的effect 保存在里面了 官方文档在这里 可以看看 https://zh-hans.reactjs.org/docs/hooks-effect.html#explanation-why-effects-run-on-each-update

1
2
yxnne
下去也仔细看了下 这个略显诡异的特性被称作capture value
2020-03-29
共2条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2136 学习 · 959 问题

查看课程