javascript - 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