React,动态添加textarea导致onChange报错

React, dynamically adding textarea results in errors onChange

我的代码在这里 - https://codesandbox.io/s/92xmm6zvmo

想法是,用户点击 table 中的编辑 link,该行会展开,并在展开的行中打开一个文本区域,以便用户可以编辑他们的 JSON 在里面。这一切都很好,除了文本区域的 onChange 事件处理程序。当事件触发时,它似乎缺少对此的引用,并且无法绑定适当的事件处理程序。我不明白为什么会这样,我希望有一个对 ExpandableTable 组件的引用,因为 expandedRowRender() 方法属于 class.

其他表单字段(不是动态添加的)似乎工作正常。

显示您的代码会让事情变得更容易。 我认为它现在可以工作了。

https://codesandbox.io/s/wkym185vpl

问题是,您没有正确绑定“this”上下文。如果您要使用箭头函数,请确保所有 class 函数都是:

Class MyClass{
  expandedRowRender = () => {}
}

如果你正在做 expandedRowRender(){} 确保在构造函数中绑定它。

Class MyClass{
      constructor(){
        this.expandedRowRender = this.expandedRowRender.bind(this);
      }
      ...
      expandedRowRender(){}
    }