useEffect缺少依赖项“道具”

释放我

我正在学习redux。我一直遇到上面的警告。以下是代码:

import React,{useEffect} from 'react';
import {connect} from 'react-redux';
import {fetchPosts} from '../actions/postActions'

function Post(props){

   useEffect(
   () => {
      props.fetchPosts();
   },[]);

    const postItems = props.posts.map(post => (
        <div key={post.id}>
            <h3>{post.title}</h3>
            <p>{post.body}</p>
        </div>
    ));
    return (
        <div>
            <h1>Post</h1>
            {postItems}
        </div>
    );
}

const mapStateToProps = state => ({
    posts: state.posts.items
});

export default connect(mapStateToProps, { fetchPosts })(Post);

如果需要fetchPost声明:

export const fetchPosts = () => dispatch => {
        fetch('https://jsonplaceholder.typicode.com/posts?_limit=10')
        .then(res => res.json())
        .then(posts => dispatch({
            type: FETCH_POSTS,
            payload: posts
        }));

现在我认为问题是因为fetchPost被声明为另一个文件夹中的操作,这会导致错误。读SO,最好的解决方案是将fetchPosts声明移到useEffect内。我是否应该在redux中执行此操作,因为太多的教程将操作分开放置,而不是与组件放置在同一文件夹中。而且,它总是说我具体缺少道具,但是当我将道具放入依赖项数组时,它会创建一个无限循环。你们可以帮我吗,谢谢。我可以保证我已经阅读了所有这里的问题,但是在那种情况下,它们缺少了功能,而不是道具本身,所以我想问一下。感谢您的阅读。

明晰

您需要指定在useEffect的回调中访问的所有依赖项在这种情况下,您只需要添加fetchPosts

function Post({fetchPosts}){

   useEffect(() => {
     fetchPosts();
   },[fetchPosts]);

请注意,fetchPosts如果该功能在组件的props上可用,则无需从动作中导入

更多信息请参阅官方的React文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

React Hook useEffect缺少依赖项:'formData'。包括它或删除依赖项数组。什么是依赖是使用

来自分类Dev

Gerrit中缺少依赖项

来自分类Dev

Gerrit中缺少依赖项

来自分类Dev

如何在自定义钩子中修复“ useEffect缺少依赖项”

来自分类Dev

React Hook useEffect缺少依赖项:“ dispatch”

来自分类Dev

useEffect缺少依赖项

来自分类Dev

ReactJS-警告消息“ Hook useEffect缺少依赖项”

来自分类Dev

useEffect缺少依赖项,但是当我添加依赖项时,出现“超出最大更新深度”错误

来自分类Dev

使用依赖多个道具的useEffect跟踪一个道具

来自分类Dev

当useEffect依赖项中缺少ref时,没有eslint警告

来自分类Dev

React Hook useEffect缺少依赖项

来自分类Dev

反应:修复缺少依赖项警告useEffect与Refs

来自分类Dev

反应挂钩-useEffect缺少依赖项警告

来自分类Dev

仅具有一个依赖项的useEffect / React Hook useEffect缺少依赖项:'props'

来自分类Dev

我的应用程序的“ React Hook useEffect缺少依赖项”警告

来自分类Dev

React Hook useEffect与useEffect缺少依赖项

来自分类Dev

如何解决“ React Hook useEffect缺少依赖项。包括它或删除依赖项数组”的问题?

来自分类Dev

React Hook useEffect缺少依赖项:“历史记录”

来自分类Dev

将函数用作useEffect依赖项->“缺少依赖项'props'”

来自分类Dev

如何在useEffect中包括缺少的依赖项,但防止函数的无限循环执行?

来自分类Dev

当警告是[]时,React警告React React Hook useEffect缺少依赖项

来自分类Dev

React Hook useEffect缺少依赖项:“ colors”和“ options”。包括它们或删除依赖项数组

来自分类Dev

useEffect警告缺少依赖项,从而导致无限循环

来自分类Dev

React Hook useEffect缺少依赖项:'fetchUser'。useEffect问题?

来自分类Dev

反应| React Hook useEffect缺少依赖项

来自分类Dev

如何解决此警告:“ React Hook useEffect缺少依赖项:'history'”?

来自分类Dev

React Hook useEffect缺少依赖项:“ getNewPins”

来自分类Dev

CodeLite安装缺少依赖项

来自分类Dev

我应该如何删除警告“React Hook useEffect 缺少依赖项”?

Related 相关文章

  1. 1

    React Hook useEffect缺少依赖项:'formData'。包括它或删除依赖项数组。什么是依赖是使用

  2. 2

    Gerrit中缺少依赖项

  3. 3

    Gerrit中缺少依赖项

  4. 4

    如何在自定义钩子中修复“ useEffect缺少依赖项”

  5. 5

    React Hook useEffect缺少依赖项:“ dispatch”

  6. 6

    useEffect缺少依赖项

  7. 7

    ReactJS-警告消息“ Hook useEffect缺少依赖项”

  8. 8

    useEffect缺少依赖项,但是当我添加依赖项时,出现“超出最大更新深度”错误

  9. 9

    使用依赖多个道具的useEffect跟踪一个道具

  10. 10

    当useEffect依赖项中缺少ref时,没有eslint警告

  11. 11

    React Hook useEffect缺少依赖项

  12. 12

    反应:修复缺少依赖项警告useEffect与Refs

  13. 13

    反应挂钩-useEffect缺少依赖项警告

  14. 14

    仅具有一个依赖项的useEffect / React Hook useEffect缺少依赖项:'props'

  15. 15

    我的应用程序的“ React Hook useEffect缺少依赖项”警告

  16. 16

    React Hook useEffect与useEffect缺少依赖项

  17. 17

    如何解决“ React Hook useEffect缺少依赖项。包括它或删除依赖项数组”的问题?

  18. 18

    React Hook useEffect缺少依赖项:“历史记录”

  19. 19

    将函数用作useEffect依赖项->“缺少依赖项'props'”

  20. 20

    如何在useEffect中包括缺少的依赖项,但防止函数的无限循环执行?

  21. 21

    当警告是[]时,React警告React React Hook useEffect缺少依赖项

  22. 22

    React Hook useEffect缺少依赖项:“ colors”和“ options”。包括它们或删除依赖项数组

  23. 23

    useEffect警告缺少依赖项,从而导致无限循环

  24. 24

    React Hook useEffect缺少依赖项:'fetchUser'。useEffect问题?

  25. 25

    反应| React Hook useEffect缺少依赖项

  26. 26

    如何解决此警告:“ React Hook useEffect缺少依赖项:'history'”?

  27. 27

    React Hook useEffect缺少依赖项:“ getNewPins”

  28. 28

    CodeLite安装缺少依赖项

  29. 29

    我应该如何删除警告“React Hook useEffect 缺少依赖项”?

热门标签

归档