검색결과가 없을 때 데이터가 없는 흰 화면이 신경쓰이게 스크롤돼서 그냥 스크롤을 아예 막아버렸었다... 이렇게 긴 코드로!
var keys = { 38: 1, 40: 1 };
function preventDefault(e) {
e.preventDefault();
}
function preventDefaultForScrollKeys(e) {
if (keys[e.keyCode]) {
preventDefault(e);
return false;
}
}
var supportsPassive = false;
try {
window.addEventListener(
'test',
null,
Object.defineProperty({}, 'passive', {
get: function () {
supportsPassive = true;
},
})
);
} catch (e) {}
var wheelOpt = supportsPassive ? { passive: false } : false;
var wheelEvent =
'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';
function disableScroll() {
window.addEventListener('DOMMouseScroll', preventDefault, false);
window.addEventListener(wheelEvent, preventDefault, wheelOpt);
window.addEventListener('touchmove', preventDefault, wheelOpt);
window.addEventListener('keydown', preventDefaultForScrollKeys, false);
}
function enableScroll() {
window.removeEventListener('DOMMouseScroll', preventDefault, false);
window.removeEventListener(wheelEvent, preventDefault, wheelOpt);
window.removeEventListener('touchmove', preventDefault, wheelOpt);
window.removeEventListener('keydown', preventDefaultForScrollKeys, false);
}
useEffect(() => {
if (posts.data.length === 0) {
disableScroll();
}
return () => enableScroll();
}, [posts]);
이미지 미리보기할때 사용하는 코드가 따로 있었는데 사용자가 업로드하는 사진마다 서버에 저장했다가 꺼내오는 방식으로 하려고.. 그런 비효율적인 방식을.. 생각해서
const preview = () => {
formData.append('imgUrl', profilePost?.imgUrl);
axios
.post(`https://sparta-bds.shop/v1/mypages/image`, formData,
{ headers:
{ 'Authorization' : `${authorization}`,
'Refresh_Token' : `${refreshToken}`,
'Content-Type' : 'multipart/form-data'} })
.then((res) => {
setPreviewImg(res.data.data.profileURL);
});
}
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
와중에 빼먹지않은 content-type: multipart/form-data