使用useEffect对依赖项数组中的数组进行React hook



我有一个自定义钩子,在里面我正在做这个:

useEffect(() => {
  dimensions.forEach(dimension => {
    dimension.filterFunction(...);
  });
}, [ dimensions, endDate, startDate ]);

问题是每次都会运行,因为我正在传递一个新的CCD_ 1数组。在父级中,如果我执行const dimensions = useMemo(() => [ dimension ], [ dimension ]),它会修复它。但是有什么方法可以防止它出现在我的自定义钩子中吗?

将维度作为参数传递给包装useEffect()的函数,并将其从数组中删除(该数组是使用Effect的第二个参数(怎么样?

    const useDimensions = (dimensions) => {
        useEffect(() => {
            dimensions.forEach(dimension => {
                dimension.filterFunction(...);
            });
        }, [ endDate, startDate ]);
    };

这应该可以防止它被重新渲染,并且你应该能够在需要的时候调用它

相关内容

  • 没有找到相关文章

最新更新