Я использую реагирующий редукс и пожарную базу.Проблема в управлении избыточным состоянием. Я получаю данные из хранилища и сопоставляю их.Я должен получить конкретного пользователя на основе его 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))
}
}