【发布时间】:2021-02-23 13:11:15
【问题描述】:
我试图理解这个美丽示例的每一行:https://codesandbox.io/embed/r5qmj8m6lq
您能否建议在第 18 行使用 useRef 的可能原因:
const order = useRef(items.map((_, index) => index))
如果可以替换为
var order = items.map( (_, index) => index )
(当然我们必须引用order而不是order.current)
非常感谢!
【问题讨论】:
-
您实际上是在询问作用域变量和 useRef 之间的区别,
var order将在每次渲染时重新初始化,因此如果您对order进行更改,它将在下一次渲染时重置,请参阅副本。 -
另外,你可以阅读
render()函数,在函数组件中,函数体是渲染函数