即使成功登录后,react-redux-firebase也没有在firebase reducer中填充用户profle。auth.signInWithEmailAndPassword方法和数据存在users / $ {uid}。因为我在firestore中存储数据所以我配置了react-redux -firebase为:
const reduxFirebaseConfig = {
userProfile: 'users',
attachAuthIsReady: true,
useFirestoreForProfile: true,
updateProfileOnLogin: false
};
redux-dev-tool中的Reducer:
firebase > profile {isLoaded: false, isEmpty: true}.
注意:使用react-native使用它的firebase库(React-Native-firebase)。除了firebase reducer中的用户配置文件外,一切都很完美。
您是否为reduxFirebaseConfig指定了profileFactory键?
我的reduxFirebaseConfig看起来像:
const reduxFirebaseConfig = {
userProfile: 'users',
useFirestoreForProfile: true,
enableRedirectHandling: false,
resetBeforeLogin: false,
profileFactory
};
我的个人资料工厂看起来像:
const profileFactory = (userData, profileData) => {
let {
email,
firstName,
lastName,
companyId,
department,
division
} = profileData;
firstName = startCase(firstName);
lastName = startCase(lastName);
const username = `${firstName} ${lastName}`;
const initials = `${firstName[0]}${lastName[0]}`;
return {
email: email,
firstName,
lastName,
username,
initials,
department,
division: division || '',
companies: { [companyId]: true }
};
};