使用TypeScript + Lodash,你如何将某些东西推入数组?

时间:2016-08-18 18:31:29

标签: typescript

gzip

我基本上是想在我的朋友阵列中添加一个看起来像1003之类的const initialState: FriendsState = { friends: [] }; export default function friends(state = initialState, action: Action): FriendsState { switch (action.type) { case TYPES.ADD_TO_FRIENDS: return assign({}, state, { friends: state.friends.push(action.payload.friendId) }) } } 。这是正确的方式吗?

如果我必须添加一个对象呢?像friendId

这样的东西
{ friendId: 1003, category: 4 }

1 个答案:

答案 0 :(得分:2)

  

我基本上是想在我的朋友阵列中添加一个看起来像1003之类的friendId。这是正确的方式吗

push将添加到数组中。

然而它改变了数组。看到你正在使用Redux(文档:http://redux.js.org/),你想使用非变异方法。例如,concat:

const initialState: FriendsState = {
  friends: []
};

export default function friends(state = initialState, action: Action): FriendsState {
  switch (action.type) {
    case TYPES.ADD_TO_FRIENDS:
      return assign({}, state, {
        friends: state.friends.concat([action.payload.friendId])
      })
  }
}