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)
}