Firebase错误:函数CollectionReference.doc()要求其第一个参数的类型为非空字符串,但它是:自定义Q对象

时间:2019-09-19 15:53:41

标签: reactjs firebase react-native google-cloud-firestore react-hooks

我正在尝试使用钩子来更新数据列表的状态。我正在使用本机反应。我什至不知道什么是自定义Q对象。 :/

function userStoresList() {
  const [userStores, userStoresUpdate] = useState([]);
  const uid = firebase.auth().currentUser;
  useEffect(() => {
    firebase
      .firestore()
      .collection('users')
      .doc(uid)
      .collection('stampcards')
      .onSnapshot(snapshot => {
        const newUserStores = snapshot.docs.map(doc => ({
          id: doc.id,
          ...doc.id(),
        }));
        userStoresUpdate(newUserStores);
      });
  }, []);
  return userStores;
}

function UserStampScreen() {
  console.log('Initial Render (step 1)');
  const userStores = userStoresList();



{userStores.map(store => (
              <StampCards
                key={store.id}
                name={store.name}
                promotion={store.promotion}
                stamps="5/10 Stamps"
                image={store.image}
              />
            ))}

我试图了解为什么会输出此错误:Error

如果您需要更多信息,请询问。 np

1 个答案:

答案 0 :(得分:0)

import Login from './Login'; export { Login }; 不仅返回uid,还返回包含uid的对象。

您可以更改:

firebase.auth().currentUser

const uid = firebase.auth().currentUser