我正在try 理解在Reaction应用程序中执行事件的顺序.给定以下示例组件,当我单击inner div
元素时,为什么要观察到"INNER ELEMENT"
之前记录的"OUTER ELEMENT"
?
我可以看到事件处于冒泡阶段,因此我的理解是它应该从目标元素向上传播,但我观察到的情况正好相反.
我的理解是错误的吗?
export const Test = () => {
const ref = useRef<HTMLDivElement>(null);
useEffect(() => {
const currentRef = ref.current;
if (!currentRef) {
return;
}
const handler = (e) => {
console.log("OUTER ELEMENT");
};
currentRef.addEventListener("click", handler);
return () => {
currentRef.removeEventListener("click", handler);
};
});
return (
<div ref={ref}>
<div
onClick={(event) => {
console.log("INNER ELEMENT");
}}
>
INNER
</div>
OUTER
</div>
);
};