我正在尝试在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 ] };
但是上面的代码不起作用,只是不再返回附近的状态。
有什么想法要解决吗?
答案 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
,此代码就可以正常工作。希望能有所帮助:)