在redux中,在操作中更改数据是一种良好的做法吗



我是一个仍在掌握redux的初学者,我想知道我在动作创建者中处理数据的方式是否是好的做法。

我正在构建一个从reddit获取帖子的应用程序。动作创建者fetchPosts从reddit获取数据,然后过滤掉粘贴的帖子,并限制发送到reducer的帖子数量。

export const fetchPosts = (subreddit) => async (dispatch) => {
const res = await fetchReddit.get(`/r/${subreddit}.json`);
const postsArray = res.data.data.children;
//filter out any stickied posts in array
const postsWithstickiedRemoved = postsArray.filter(post => !post.data.stickied);
dispatch({ type: FETCH_POSTS, payload: postsWithstickiedRemoved.slice(0, 21) })
}

这是一个好的做法吗?还是我应该将res.data发送到减速器并在那里进行操作?这有关系吗??

感谢

如果我们参考官方redux文档:

操作是具有类型字段的纯JavaScript对象。

因此,在您的情况下,操作是

{ type: FETCH_POSTS, payload: postsWithstickiedRemoved.slice(0, 21) }.

fetchPosts函数是一个服务,而不是一个操作,在服务中操作数据是完全可以的。

相关内容

  • 没有找到相关文章

最新更新