HOC 反应 redux firebase。 (错误:上传文件需要 Firebase 存储)

Posted

技术标签:

【中文标题】HOC 反应 redux firebase。 (错误:上传文件需要 Firebase 存储)【英文标题】:HOC react redux firebase. (Error: Firebase storage is required to upload files) 【发布时间】:2020-10-04 18:15:23 【问题描述】:

需要 Firebase 存储错误 向uploadFile()提供参数可能是我错了。 如果您看到任何内容,请建议更正 代码:

export const addCategory = category => 
  return (dispatch, getState,  getFirestore, getFirebase ) => 
    const firebase = getFirebase();
    const firestore = getFirestore();

    let reader = new FileReader();
    reader.readAsDataURL(category.imageFile);

    const imageExtension = category.imageFile.name.split('.')[
      category.imageFile.name.split('.').length - 1
    ];
    var imageFileName = `$Math.round(
      Math.random() * 100000000000
    ).$imageExtension`;

    reader.onload = e => 
      const storagePath = "https://firebasestorage.googleapis.com/v0/b/grocapp-f4eb9.appspot.com/o/";
      const dbPath = 'test';
      const fileMetadata =  contentType: 'image/jpeg' ;

      firebase
        .uploadFile(storagePath, e.target.result, dbPath,  metadata: fileMetadata )
        .then(() => 
          console.log('File uploaded successfully');
        );
    ;
  ;
;

浏览器中的错误代码:

Error: Firebase storage is required to upload files
  19 |      const dbPath = 'test';
  20 |      const fileMetadata =  contentType: 'image/jpeg' ;
  21 | 
> 22 |      firebase
  23 |^       .uploadFile(storagePath, e.target.result, dbPath,  metadata: fileMetadata )
  24 |        .then(() => 
  25 |          console.log('File uploaded successfully');

【问题讨论】:

【参考方案1】:

如果你还没有安装@firebase/storage,我认为你应该安装并导入它

It is checked in the start of uploadFile method

import "firebase/storage";

【讨论】:

以上是关于HOC 反应 redux firebase。 (错误:上传文件需要 Firebase 存储)的主要内容,如果未能解决你的问题,请参考以下文章

测试传递给 Redux HOC 的强制 PropTypes

与 react-redux-firebase 反应 isLoaded 是真的, isEmpty 似乎是假的,但 firebase.auth().currentUser 是 null - 可能是啥原因?

组件不会重新渲染,但 redux 状态已通过反应钩子更改

使用 apollo graphql 对 firebase 身份验证做出反应

React JS:HOC(重组)或 Redux [关闭]

React Redux 使用带有连接组件的 HOC