【发布时间】:2020-05-13 20:58:02
【问题描述】:
triggerData函数用于多个函数。所以,如果我将函数放在useEffect 内以避免丢失依赖项,那么我不能在useEffect 之外调用triggerData,即buildData。如何避免丢失依赖项错误?
useEffect(()=>{
//api call
if(something){
triggerData(state, props);
}
}[values]);
const triggerData = (state, props) => {
return values + 1;
}
const buildData = () => {
triggerData(state, props);
}
React Hook useEffect 缺少一个依赖项:'triggerData'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps
当我在useEffect 中添加triggerData 时,出现以下错误。
triggerData 在定义之前使用 no-use-before-define
useEffect(()=>{
//api call
const triggerData = (values) => {
return values + 1;
}
if(something){
triggerData(values);
}
}[values, triggerData]);
const buildData = () => {
triggerData(values);
}
【问题讨论】:
-
您的触发器数据是否使用了 state 或 prop 中的任何内容?
-
问题不清楚,有没有可生产的最小例子?
-
@AmitChauhan 是的,它可以使用任何东西。
-
@DennisVash 我已经更新了这个问题,请检查
标签: javascript reactjs react-hooks eslint