首页 > 解决方案 > React/redux 对不同页面的相同操作

问题描述

我得到了 react/redux 简单的博客项目。用户可以添加/删除/编辑文章以及喜欢/不喜欢它。我在文章列表中点了“喜欢”,但在尝试为单个文章页面点赞/不喜欢时我卡住了。我得到了 ARTICLE_LIKE 和 ARTICLE_UNLIKE 动作——它应该发布相同的东西(/articles/${slug}/favorite),无论它是文章列表还是单个文章页面。我得到了文章列表的减速器

return {
                ...state,
                articles: state.articles.map(article => {
                        if (article.slug === action.payload.article.slug) {
                            return {
                                ...article,
                                favorited: action.payload.article.favorited,
                                favoritesCount: action.payload.article.favoritesCount
                            };
                        }
                        return article;
                })
            };

当它是文章列表时,我在单页状态下得到“文章”,我得到“文章”。

我可以为单个文章页面做到这一点。但不适用于同一个减速器中的两者。我是否需要再采取一项行动?或者是单篇文章页面和文章列表的方法。我需要一点帮助,或者建议如何做到这一点。不想为不同的页面执行两个相同的操作代码:/

完整代码:codesandbox

标签: javascriptreactjsredux

解决方案


推荐阅读