Реагируйте на собственное отображение объектов Redux, создавая дубликаты на динамических данных из firebase - PullRequest
1 голос
/ 21 июня 2019

В настоящее время у меня есть список, который всегда прослушивает базу данных firebase, используя 'on'

Кажется, все работает, за исключением того, что когда новые данные добавляются в базу данных, кажется, что они дублируют данные, если не происходит обновление,

Мой action.js:

export const getAllEvents = () => {
    var a =[]
      return (dispatch) => {
        dispatch(fetchingStart());

            var ref = firebase.database().ref('Events/');
            ref.orderByChild("epochTime").on("value", function(snapshot) {

                snapshot.forEach(child => {
                    a.push(child.val())
                })
                console.log("Array dispatch ", a)
                dispatch(fetchingSuccess(a))


              });


      }
  }

Мой редуктор:

const INITIAL_STATE = {
    arr: [],
    isFetching: false,

}

const eventListReducer = (state = INITIAL_STATE, action) => {
    switch (action.type) {
        case FETCH_BEGIN:
            console.log("begining fetch")
          return { ...state, isFetching: true };
        case FETCH_SUCCESS:
          return { ...state, isFetching: false, arr: action.payload };
        default:
          return state;
      }
}

export default eventListReducer;

Мой рендеринг:

var obj = this.props.eventListReducer;

     {obj.map((request,i) => (
                                <TouchableOpacity activeOpacity={0.8} key={i} onPress={() => this.props.navigation.navigate('Event', {
                                    spots: request.availableSpots,
                                    date: request.date,
                                    puckdrop: request.time,
                                    level: request.level,
                                    organizer: request.scheduler,
                                    uuid: request.uuid,

                                })

                            }>
<Text.........

Я думаю, что проблема заключается либов рендеринге с ключами может быть?Или с редуктором.

-------_ Редактировать

Итак, изначально воспроизводится OBJ1 OBJ2, теперь на другом устройстве, я добавляю данные в firebase, а теперь и оригинальное устройство.просмотр списка имеет следующее: OBJ1 OBJ2 OBJ1 OBJ2 OBJ3

Таким образом, он сохраняет текущий список и добавляет новый список объектов.Если я обновлю приложение, у него появится список, показывающий, как оно должно быть. OBJ1 OBJ2 OBJ3

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