ReactJs - 在 useEffect

时间:2021-06-25 18:42:37

标签: javascript reactjs redux react-redux

我有一个使用 axios 获取文章的组件,我只想在第一次加载 url 时检索文章

useEffect( () => { 
    const getArticles = ()=>{
         dispatch(getArticlesAction())
   }   
    getArticles()
  }, [])

这种方式非常有效,但我阅读了一些文档,我可以得到相同的结果:

useEffect( () => {    
    dispatch(getArticlesAction())
  }, [dispatch])

使用它也没有问题,我将调度作为 useEffect 的依赖项传递,所以我的问题是在页面第一次加载时获取文章的最佳方法是什么?谢谢。

1 个答案:

答案 0 :(得分:1)

这两者在技术上几乎是等价的。从技术上讲,您不需要将 dispatch 放入依赖项数组,因为它很有可能在您的应用程序的生命周期内保持引用相等(除非您突然更改存储,这不应该发生)。

不过,您应该将 eslint 与官方 react-eslint 插件一起使用(您可能需要在编辑器中启用 eslint 插件),这会警告您需要添加 dispatch。既然这样做没有什么坏处,我建议你去。