TypeError:无法读取在Table.forceUpdateGrid中引发的未定义属性'Grid'

时间:2019-03-29 18:37:14

标签: react-virtualized

我试图在tableInstance.forceUpdateGrid()回调中调用Promise.then(),并且抛出异常TypeError: Cannot read property 'Grid' of undefined

看下面的代码

_createClass(Table, [{
  key: 'forceUpdateGrid',
  value: function forceUpdateGrid() {
    this.Grid.forceUpdate();
  }

this引用未定义...

我唯一能想到的是,在最初的BE api调用与Promise.then()处理程序之间,有一个props更改,导致包含组件重新呈现,也许{ 1}}引用不再指向正确的实例?

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

(1)使用fat arrow functions获取函数内部的this引用:-

_createClass(Table, [{
  key: 'forceUpdateGrid',
  value: forceUpdateGrid = () => {
    this.Grid.forceUpdate();
}

(2)或者

 let thisRef = this; 
_createClass(Table, [{
  key: 'forceUpdateGrid',
  value: function forceUpdateGrid() {
    thisRef.Grid.forceUpdate();
  }

我希望对您有帮助!