【问题标题】:In redux, is altering data in an action good practice?在 redux 中,在行动中更改数据是一种好的做法吗?
【发布时间】:2021-03-11 13:35:20
【问题描述】:

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

我正在构建一个从 reddit 获取帖子的应用程序。 action 创建者 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 分派到 reducer 并在那里操作它?这还重要吗??

谢谢

【问题讨论】:

    标签: reactjs react-redux redux-thunk


    【解决方案1】:

    如果参考官方redux documentation

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

    所以在你的情况下,行动是

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

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

    【讨论】:

      猜你喜欢
      • 2017-08-31
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 2014-01-17
      • 2015-05-31
      • 2011-03-28
      • 1970-01-01
      相关资源
      最近更新 更多