Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs spring transitions是如何工作的?_Reactjs_React Spring - Fatal编程技术网

Reactjs spring transitions是如何工作的?

Reactjs spring transitions是如何工作的?,reactjs,react-spring,Reactjs,React Spring,我试图从react-spring文档中理解通知中心示例 为了更好地理解这个代码沙盒,我使用了一些控制台日志: 我试图解释其工作原理的主要值是这样设置的: const refMap=usemo(()=>new Object(),[]) const[items,setItems]=useState([]) 转换钩子基于项创建DOM元素,DOM元素将自己设置到refMap中 { ref&(refMap[item.key]=ref) }}/> 如果在useTransition钩子中,enter属性

我试图从react-spring文档中理解通知中心示例

为了更好地理解这个代码沙盒,我使用了一些控制台日志:

我试图解释其工作原理的主要值是这样设置的:

const refMap=usemo(()=>new Object(),[])
const[items,setItems]=useState([])
转换钩子基于
项创建DOM元素,DOM元素将自己设置到
refMap

{
ref&(refMap[item.key]=ref)
}}/>
如果在
useTransition
钩子中,enter属性如下所示:

enter:item=>{
log('Transition:ref:',{…refMap},'items:',[…items])
},
refMap
为空,但
items
数组已满。我理解为什么它无法访问对DOM节点的引用,因为组件在设置了新项之后重新呈现,而不是在设置了DOM节点引用之后

那么,为什么下面的代码正常工作,而重新映射的
已满?为什么enter属性的函数仅在返回函数时才知道
refMap
的更新值

enter:item=>()=>{
log('Transition:ref:',{…refMap},'items:',[…items])
},