Это зависит от значения func
, которое, очевидно, инициализируется в родительском компоненте
Но если предположить, что func
установлен на постоянную функцию, которая никогда не изменится (что в основном имеет место), то нетнужно добавить это здесь, вы можете просто оставить bar
и удалить func
из второго аргумента useEffect
Однако здесь плохая практика, в вашем коде, если func
установлен на функциюэто увеличивает bar
, например,
const func = (bar) => bar + 1;
Это приведет к бесконечному запуску useEffect
, потому что каждый раз, когда bar
изменение, useEffect
будет срабатывать и увеличивать bar
снова и так далее.
Если вам интересно, можно ли когда-нибудь изменить func
Я приведу пример родительского компонента, который func
изменится при нажатии кнопки.
import React, {useState} from "react";
const ParentComponent = () => {
const increment = bar => bar+1;
const decrement = bar => bar-1;
const [func, setFunc] = useState(increment);
return <div>
//When this button is clicked, `func` value will be changed
<button onClick={() => setFunc(decrement)}/>
// This is your component
<foo func={func}/>
</div>
}