首页 > 解决方案 > TypeError:无法读取 Table.forceUpdateGrid 中抛出的未定义属性“网格”

问题描述

我正在尝试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 更改导致包含组件重新渲染,并且tableInstance引用可能不再指向正确的实例?

任何人都可以帮忙吗?

标签: react-virtualized

解决方案


(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();
  }

我希望它有帮助!


推荐阅读