【发布时间】:2020-11-27 20:21:09
【问题描述】:
在任何地方都找不到有关此的文档。这会导致useEffect 再次运行吗?我不希望它获取两次,这会导致我的代码出现一些问题。
import React, { useEffect } from 'react'
import { useHistory } from 'react-router-dom'
const myComponent = () => {
const { push } = useHistory();
useEffect( () => {
console.log(" THIS SHOULD RUN ONLY ONCE ");
fetch(/*something*/)
.then( () => push('/login') );
}, [push]);
return <p> Hello, World! </p>
}
从测试来看,它不会运行两次。有没有这样的情况?
为了这个问题,假设组件的父级经常重新渲染,所以这个组件也是如此。 push 函数在渲染之间似乎没有变化 - 会不会发生变化?
【问题讨论】:
标签: javascript reactjs react-router react-router-dom