일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트의 특징
- JavaScript
- 소름돋는 알고리즘
- 소오름~
- 알고리즘
- 삼항연산자
- Promise.all()
- for문
- 자바스크립트의 탄생배경
- Ajax란?
- ES6 브라우저 지원 현황
- 배열 최솟값
- !x.includes()
- .map()
- 프로그래머스
- 자바스크립트
- a && b
- 행렬...
- 프로그래밍이란
- array.reduce()
- async-await
- 구문과 의미
- Math.min
- 어려운데ㅠㅠ
- 프로그래머스 공원 산책
- 자바스크립트와 ECMAScript
- for반복문
- 가우스의 공식
- arr.push()
- .split()
Archives
- Today
- Total
Ming's develop story
TypeError: storage.ref is not a function 에러 본문
firebase와 연동하여 이미지 업로드를 구현하던중 에러가 발생했다.
그 전까지 input이 있는 js파일에서 업로드 함수를 만들어 실행했을땐 문제없이 작동하였는데,
리듀서에서 함수를 만들어 실행하니 함수가 아니라는 오류가 계속 발생하였다.
image.js (리듀서 파일)
const uploadImageFB = (image) => {
return function (dispatch, getState, storage) {
dispatch(uploading(true));
const _upload = storage.ref(`images/${image.name}`).put(image);
// const _upload = storage.ref(`images/${image.name}`).put(image); // 참조 만들어주기
_upload.then((snapshot) => {
snapshot.ref.getDownloadURL().then((url) => {
dispatch(uploadImage(url));
});
});
};
};
|
몇번이고 확인했지만 코드에는 문제가 없어 보였고,
import { storage } from "../../shared/firebase";
storage를 import 한 부분에서 계속 노란줄이 나오기에 import에 문제가 있다고 생각이 들어
firebase.js와 configureStore.js 등 여러 코드를 확인해봤지만 문제가 있는 코드를 발견하지 못했다.
그러던중 image.js의 업로드 함수에서 파라미터로 storage를 준다고 해서
const _upload = storage.ref(`images/${image.name}`).put(image);
이부분의 storage가 firebase 저장소가 아닌 파라미터 storage로 인식한다는 생각이 들었다.
const uploadImageFB = (image) => {
return function (dispatch, getState) {
dispatch(uploading(true));
const _upload = storage.ref(`images/${image.name}`).put(image);
// const _upload = storage.ref(`images/${image.name}`).put(image); // 참조 만들어주기
_upload.then((snapshot) => {
snapshot.ref.getDownloadURL().then((url) => {
dispatch(uploadImage(url));
});
});
};
};
|
역시나 파라미터로 storage를 줬던게 문제였었다.
이후 import 부분도 색이 들어오며 업로드 할시에 잘 작동이 되었다.
firebase에도 데이터가 잘 저장되는것을 확인이 되었다!
이번에도 느낀거지만 기본을 잊으면 안될듯 싶다.
파라미터 조심!!!
Comments