Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React组件中调用componentDidMount(),该组件不是React.Component的扩展类_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 在React组件中调用componentDidMount(),该组件不是React.Component的扩展类

Javascript 在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') );

我有一个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')
);
问题是我看到很多人使用

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]);