我的表单有3个字段,lambda
,period
和filterPattern
。当lambda
和period
的值更改时,它将触发handleSearch
。但是,我不希望handleSearch
更改时触发filterPattern
。
如果我没有将filterPattern
放在依赖项数组中,那么handleSearch
将无法获得filterPattern
的最新值。
如何避免在一个嵌套依赖项发生更改时触发useEffect?谢谢。
const getLogQuery = useCallback(() => ({
lambda,
period,
filterPattern,
}), [lambda, period, filterPattern]);
const handleSearch = useCallback(async () => {
await getLambdaLogs(getLogQuery());
}, [getLogQuery]);
useEffect(() => {
handleSearch();
}, [handleSearch]);
const getLambdaLogs = async (query) => {
const logs = await LambdaService.getLambdaLogs(query);
setLogItems(logs);
}
答案 0 :(得分:0)
我在做一些假设,但是$CSVArrayList = new-Object System.Collections.ArrayList
[void]$CSVArrayList.Add(@('1','2','3'))
[void]$CSVArrayList.Add(@('4','5','6'))
Set-Content "./Output.csv" -Value $null
Foreach ($arr in $CSVArrayList) {
$arr -join ',' | Add-Content "./Output.csv"
}
的第二个参数是它的依赖关系,它是监视何时触发的东西。所以代替
useEffect
没有任何意义,先观看一个函数,然后在该函数发生更改时调用该函数,将其更改为
useEffect(() => {
handleSearch();
}, [handleSearch]);