Проблема с состоянием в приложении на нативном компьютере с использованием приставки - PullRequest
0 голосов
/ 23 июня 2018

Я пытаюсь получить дополнительные данные 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 голосов
/ 24 июня 2018

Может быть, попробовать, не делая копию полезной нагрузки?

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

этот код будет работать до тех пор, пока action.payload.data.nearby не определен.Надеюсь, это поможет:)

0 голосов
/ 23 июня 2018

Вам необходимо добавить промежуточное значение. То, что вы пытаетесь, пытается добавить состояние к состоянию.

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

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

  return { ...state, nearby: interimValue }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...