我试图使用文档中描述的用户配置文件在我的项目中设置 react-redux- firebase。我遇到了以下问题 - 每次创建用户时,数据库都会将用户数据保存在“未定义”下:
我假设它应该将用户保存在他们的 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);
在我看来,就像在文档中一样。有人看到问题了吗?