react-virtualized - 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
引用可能不再指向正确的实例?
任何人都可以帮忙吗?
解决方案
(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();
}
我希望它有帮助!
推荐阅读
- hibernate - spring jpa规范加入原因n+1
- python - 为什么我的神经网络输出错误?
- r - 如何根据日期排除数据?
- r - textInput 在闪亮时没有反应性生成
- powershell - 读取和过滤字符串行的问题
- vue.js - 如何使用 this.$http.get() 从 url 获取 json 数据?
- arcgis - 是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?
- angular - 如何启用对 swagger-ui 和 swagger-codegen 的 csrf 支持
- c# - ASP .NET CORE 2.2 带有 python 的 Razor 页面
- c++ - QTest 和 void 函数