Javascript 在React组件中调用componentDidMount(),该组件不是React.Component的扩展类
我有一个react组件,稍后在index.js中呈现 index.jsJavascript 在React组件中调用componentDidMount(),该组件不是React.Component的扩展类,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个react组件,稍后在index.js中呈现 index.js import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render( <React.StrictMode> <App /> </React.StrictMode>, document.getElementById('root') );
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
问题是我看到很多人使用
class SomeComponent extends React.Component {
componentDidMount()
//some code
render() {
return ...
}
}
我想使用我在很多代码示例中看到的“componentDidMount()”,但以我的方式,这似乎是不可能的
但是。。。有可能吗?或者我可以使用另一种类似的方法
谢谢。在功能组件中,从
React 16.8,
我们有React钩子。我们可以使用useffect()
Hook来模拟componentDidMount()
在基于类的组件中所做的事情。但是,您需要将第二个参数作为状态值传递给useffect()
,只有这样,每当修改状态值时,它的行为才会像componentDidMount()
大概是这样的:
const [stateValue,useStateValue] = useState("enjoy");
useEffect(()=>{
// ... Your code
},[stateValue]);
你会想调查的,看来这对我很有用,谢谢!
class SomeComponent extends React.Component {
componentDidMount()
//some code
render() {
return ...
}
}
const [stateValue,useStateValue] = useState("enjoy");
useEffect(()=>{
// ... Your code
},[stateValue]);