我想將 react hooks 組件轉換為 class 組件,但出現錯誤。
掛鉤
import React, { useEffect, useRef } from "react";
const App = () => {
const refValt = useRef(null);
const myfuncValt = () => {
console.log("222222222222222222222");
};
useEffect(() => {
setTimeout(() => {
refValt.current.click();
}, 5000); //miliseconds
}, []);
return (
<div>
<div ref={refValt} onClick={myfuncValt}>Valt</div>
</div>
);
};
export default App;
班級
import React from "react";
const myfuncValt = () => {
console.log("222222222222222222222");
};
class App extends React.Component {
constructor(props) {
super(props);
const refValt = React.createRef(null);
}
componentDidMount() {
setTimeout(() => {
this.refValt.current.click();
}, 5000);
}
render() {
return (
<div>
<div ref={this.refValt} onClick={myfuncValt}>
Valt
</div>
</div>
);
}
}
export default App;
我收到此錯誤 =

我試試 this.refValt.click(); 但它不起作用。
其實我懷疑 createref 和 useref 之間的區別。
uj5u.com熱心網友回復:
這個:
const refValt = React.createRef(null);
...需要是這樣的:
this.refValt = React.createRef(null);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/359750.html
標籤:javascript 反应 班级 反应钩子 jsx
上一篇:用戶能否在生產環境中訪問和更改Angular應用程式中的組件屬性?
下一篇:JSX字串插入到組件名稱中
