gpt4 book ai didi

javascript - 如何将事件对象传递给嵌套函数?

转载 作者:行者123 更新时间:2023-11-30 11:01:49 25 4
gpt4 key购买 nike

如何将事件对象传递给嵌套函数并让脚本理解它?

下面不是我的实际代码,但它说明了问题。我猜那里的功能无法完成,因为 evt.target.src 超出了范围。同样,这是简化的代码。我只是问如何从这个嵌套函数内部理解 evt.target.src

SomeFunction =(evt)=> {
setTimeout(
()=> {evt.target.src = somethingIcreated}, 200
)
};

如果我将它分配给嵌套函数之外的变量来传入,它只会被理解为一些随机变量,而不是实际事件对象的 src。因此 src 不会改变,否则项目会崩溃,因为它无法处理 null 的内容。

最佳答案

React 使用合成事件并重用它们,因此您不能在处理程序返回后使用它们。

你有两个选择:

  1. 您可以从它们那里获取属性,以后再获取它们。所以在你的情况下:

    SomeFunction = ({target}) => {
    setTimeout(
    ()=> {target.src = somethingIcreated}, 200
    )
    };

    在那里,我在参数列表中使用解构从事件对象中获取 target 属性,以后可以重用它。它只是事件对象本身,您无法在处理程序返回后使用它。

  2. 您可以在事件上使用 persist 方法来告诉 React 您想要保留它。

更多内容在 synthetic events documentation .

关于javascript - 如何将事件对象传递给嵌套函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57443212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com