获取事件回调函数中的最新道具

时间:2019-03-20 01:37:50

标签: javascript reactjs

是否可以以及如何在事件回调函数中获取更新的道具?

我可以在效果依赖项列表中添加protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Account>().HasOne(a => a.Supervisor) .WithOne().OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity<Account>().HasOne(a => a.AlternateSupervisor) .WithOne().OnDelete(DeleteBehavior.Restrict); } 属性,但是在每次更新时都重新添加事件监听器(并删除了事件监听器,但为简单起见缺少逻辑)。

也许它可以被number入侵吗?

JSFiddle

useRef

注意:在这种情况下,我无法使用React的综合事件。

1 个答案:

答案 0 :(得分:1)

您可以绑定onScroll函数。

将“滚动”组件调整为:

function Scroll({ number }) {
  this.number = number;
  function onScroll(e) {
    // how to update number prop
    // without removing and
    // re-adding event listener?
    console.log(this.number);
  }

  const scrollEl = React.useRef();
  React.useEffect(() => {
    scrollEl.current = document.getElementById('scroll');
    scrollEl.current.addEventListener('scroll', onScroll.bind(this));
  }, []);

  return (
    <div id="scroll">
      <div className="content" />
    </div>
  );
}

如果您不习惯使用this,则可以更改为其他对象。