Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Reactjs 什么可以';没有有效的钩子就做不到?_Reactjs_Use Effect - Fatal编程技术网

Reactjs 什么可以';没有有效的钩子就做不到?

Reactjs 什么可以';没有有效的钩子就做不到?,reactjs,use-effect,Reactjs,Use Effect,我阅读了文档,了解了它是如何使生活比生命周期方法更简单的。但是我想知道如果没有useffect,有什么不可能呢 例如,代替(所有代码均为伪代码) 我就不能用它吗 // inside functional component function App() { networkRequest.then(update state) } “让生活比生命周期方法更简单”是什么意思?React钩子是如何在功能组件中利用组件生命周期的 就像基于类的组件的呈现生命周期方法一样,它是一个没有副作用的纯函数,因

我阅读了文档,了解了它是如何使生活比生命周期方法更简单的。但是我想知道如果没有
useffect
有什么不可能呢

例如,代替(所有代码均为伪代码)

我就不能用它吗

// inside functional component
function App() {
  networkRequest.then(update state)
}
“让生活比生命周期方法更简单”是什么意思?React钩子是如何在功能组件中利用组件生命周期的

就像基于类的组件的
呈现
生命周期方法一样,它是一个没有副作用的纯函数,因此是功能组件的整个主体。功能组件的主体是“渲染”功能

// inside functional component
function App() {
  networkRequest.then(update state)
}
如上所述,没有保护网络请求或状态更新的副作用的保护。。。它将简单地更新状态和重新渲染器,并更新状态和重新渲染器。。。令人厌恶,或者换句话说,无限地渲染循环

React挂钩允许您在功能组件中利用组件生命周期

要直接回答您的问题,请执行以下操作:

然而,我想知道,如果没有使用效果,什么是不可能的


不可能触发任何异步网络请求、身份验证等副作用。。。当组件挂载或重新加载时,不可能调用任何特定的函数。当特定的状态/属性值更新时,无法运行任何特定的逻辑。

我不能直接使用它吗?
不,你不能,因为一旦你设置了状态,函数将再次被调用,新的网络请求开始,状态将被设置,循环将重复。
// inside functional component
function App() {
  networkRequest.then(update state)
}