搜索

首页  >  问答  >  正文

为什么useEffect会被调用两次?

<p><br /></p> <pre class="brush:php;toolbar:false;">import { useContext, useEffect, useState } from 'react'; const Log = () => { useEffect(() => { console.log('Running ...') },[]) return(<p>here</p>) } export default Log;</pre> <p>每当这段代码运行时,我在浏览器控制台中会收到<strong>Running...</strong>消息两次。</p> <p>我认为它应该只运行一次,因为我在useEffect中有一个空的第二个参数。</p> <p>有人能解释为什么它会运行两次吗?</p>
P粉294954447P粉294954447555 天前726

全部回复(1)我来回复

  • P粉005417748

    P粉0054177482023-08-25 14:11:23

    这是由于<StrictMode> 可能在您的根树中。

    什么是严格模式?

    它是如何导致 useEffect() 运行两次的?

    注意: 严格模式的检查仅在开发模式下运行;它们不会影响生产构建。

    回复
    0
  • 取消回复