Как управлять несколькими состояниями в редуксе - PullRequest
0 голосов
/ 28 мая 2019

Я использую реагирующий редукс и пожарную базу.Проблема в управлении избыточным состоянием. Я получаю данные из хранилища и сопоставляю их.Я должен получить конкретного пользователя на основе его uid. Я получаю данные от this.props.GetUser(uid).Проблема в том, что данные пользователей не меняются .. Я имею в виду, что каждый component получает одни и те же данные вместо своих соответствующих данных.Я получаю photoURL, displayName и т. Д. На основе идентификатора пользователя. Все работает, но реквизиты id={abigoID} name={displayName} pro={profile} остаются без изменений. Я получаю documentSnapShot из UserPost

<section className="flex_main" onClick={this.notify}>
                  {post &&
                    post.docs.map((da, i) => {
                      const { photoURL, uid, timeStamp } = da.data()
                      this.props.GetUser(uid)
                      const abigo = UserPost !== undefined ? UserPost.data() : ""
                      const { abigoID, displayName, ...pro } = abigo 
                      const profile = pro.photoURL
                      return (
                        <Feed
                          key={i }
                          postImage={photoURL}
                          Snap={timeStamp}
                          id={abigoID}
                          name={displayName}
                          pro={profile}
                        />
                      )
                    })}
</section>

// redux

export const GetUsers = (uid) => {
    return (dispatch, getState, {
        getFirebase
    }) => {
        const firestore = getFirebase().firestore();
        firestore.collection('users').doc(uid).get()
            .then((data) => {

                dispatch({
                    type: 'GET_USER_REAL_ME',
                    data
                })
            })
            .catch(err => console.error(err))
    }
}

1 Ответ

0 голосов
/ 28 мая 2019

Откуда взялся UserPost?

Похоже, вы ничего не делаете с результатом this.props.GetUser(uid) - это должно быть присвоено UserPost?

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