Javascript React-TypeError中的制表器:无法读取属性';标记名';未定义的
我得到这个错误Javascript React-TypeError中的制表器:无法读取属性';标记名';未定义的,javascript,reactjs,tabulator,Javascript,Reactjs,Tabulator,我得到这个错误 5440 | this.bindModules(); 5441 | >5442 | if(this.element.tagName==“TABLE”){ |^5443 |如果(this.modExists(“htmlTableImport”,true)){ 5444 | this.modules.htmlTableImport.parseTable(); 5445 | } 当我尝试使用时 import React,{useState,useffect}来自“React”;
5440 | this.bindModules();
5441 |
>5442 | if(this.element.tagName==“TABLE”){
|^5443 |如果(this.modExists(“htmlTableImport”,true)){
5444 | this.modules.htmlTableImport.parseTable();
5445 | }
当我尝试使用时
import React,{useState,useffect}来自“React”;
从“制表器表”导入制表器;
导入“tablator tables/dist/css/tablator.min.css”;
功能日志(道具){
让refTable=React.createRef();
const[journalItems,setJournalItems]=useState([]);
useffect(()=>{
新制表器(参考表{
资料来源:journalItems,
反应数据:正确,
列:[“a”、“b”、“c”],
});
}, []);
返回(
)
}
导出默认日记账;
使用类组件方法,而我想使用函数方法
我做错了什么?我已经解决了这里的问题- createRef不应在功能组件中使用。引用- 唯一需要改变的是-
<div className="foo" ref={el => (refTable = el)} />
(refTable=el)}/>
希望这有帮助。我设法解决了这个问题,就像这样
import React,{useState,useffect}来自“React”;
从“制表器表”导入制表器;
导入“tablator tables/dist/css/tablator.min.css”;
功能日志(道具){
让refTable=useRef(null);
let table=useRef(null);
const[journalItems,setJournalItems]=useState([]);
useffect(()=>{
table.current=新制表器(refTable.current{
资料来源:journalItems,
反应数据:正确,
列:[“a”、“b”、“c”],
});
}, []);
返回(
)
}
导出默认日记账;
这就是问题所在
每次渲染后,从React Hook useEffect内部对“table”变量的指定将丢失。
要随时间保留该值,请将其存储在useRef挂钩中,并将可变值保留在“.current”属性中。
否则,可以直接在useEffect内移动此变量。(react hooks/deps)
console.log(this)代码>可能是很好的第一步。可能是这个
的简单例子,而不是你认为的这个
应该是什么意思。其次,(如果this
案例已签出)是查看this.element
是什么。那是未定义的吗?我打赌它是……这不是功能组件中没有使用的吗?