使用Redux的React-Native应用中的状态问题

时间:2018-06-23 19:02:02

标签: reactjs react-native redux react-redux

我正在尝试在React本机onEndReached组件中获取其他数据Flatlist

它工作得很好,除了我无法设法将元素添加到状态中,相反,目前唯一起作用的是获取所有数据以及所需的其他数据。

这当前有效,但不是我想要的。

case FETCH_NEARBY:
  return { ...state, nearby: action.payload.data.nearby };

相反,我想使以下逻辑起作用:

case FETCH_NEARBY:
  return { ...state, nearby: [ ...state.nearby, ...action.payload.data.nearby ] };

但是上面的代码不起作用,只是不再返回附近的状态。

有什么想法要解决吗?

2 个答案:

答案 0 :(得分:0)

您需要添加一个中间值。您正在尝试将状态附加到状态。

const updateNearby = (prev, newValue) => {
  return [ ...prev, newValue ]
}

case FETCH_NEARBY:
  const interimValue = updateNearby(
    state.nearby, 
    ...action.payload.data.nearby 
  )

  return { ...state, nearby: interimValue }

答案 1 :(得分:0)

也许不用复制有效负载就可以尝试吗?

case FETCH_NEARBY:
  return { 
    ...state, 
    nearby: [ ...state.nearby, action.payload.data.nearby ] 
  };

只要未定义action.payload.data.nearby,此代码就可以正常工作。希望能有所帮助:)