我正在尝试使用the docs中所述的用户配置文件在我的项目中设置react-redux-firebase。我遇到了以下问题 - 每次创建用户时,数据库都会将用户数据保存在" undefined":
我认为它应该将用户保存在他们的uid下,因此出于某种原因,当用户存储在数据库中时,uid是未定义的。我创建了一个沙箱来重现问题:https://codesandbox.io/s/6jl07r6v7w (将您自己的firebase配置粘贴到store.js中以自行尝试)。
以下是我如何设置商店:
import { combineReducers, createStore, compose } from "redux";
import { reactReduxFirebase, firebaseReducer } from "react-redux-firebase";
import firebase from "firebase";
export const initStore = () => {
const firebaseConfig = {
// config
};
firebase.initializeApp(firebaseConfig);
const rrfConfig = {
userProfile: "users"
};
const createStoreWithFirebase = compose(
reactReduxFirebase(firebase, rrfConfig)
)(createStore);
const rootReducer = combineReducers({
firebase: firebaseReducer
});
return createStoreWithFirebase(rootReducer);
};
以及我创建用户的地方:
import React, { Component } from "react";
import { withFirebase } from "react-redux-firebase";
class CreateUser extends Component {
constructor(props) {
super(props);
this.submit = this.submit.bind(this);
}
submit() {
this.props.firebase
.createUser({
email: "test@test.com",
password: "123456"
})
.then(userData => console.log(userData))
.catch(err => window.alert(err.message));
}
render() {
return <button onClick={this.submit}>create a user</button>;
}
}
export default withFirebase(CreateUser);
在我的文档中看起来就像。有人看到问题吗?
答案 0 :(得分:0)
您使用的是Firebase JS SDK的5.*.*
吗?
如果是这样,这可能是由于最近的Firebase JS SDK版本中的一些重大更改,这些更改影响了部分react-redux-firebase
句柄配置文件(believe this recently reported issue is the same)。
目前正在努力解决这个问题,但如果有机会,我们会一直向PR开放。
披露:我是react-redux-firebase
的主要作者