reactjs - 为什么我不能将我的组件导入 React JS 中的另一个组件?
问题描述
我正在尝试将我的ProgressBar组件导入到UploadForm组件,但它不起作用。控制台宣布错误为:“ ./src/components/UploadForm.js Module not found: Can't resolve './components/ProgressBar' in 'C:\Users\Admin\react-website\src\components' ”。不知道有什么问题?有谁能够帮我?太感谢了!
这是我的 ProgressBar.js:
import React from "react";
import useStorage from "../hooks/useStorage";
const ProgressBar = () => {
return ( <
div className = "progress-bar" > progress < /div>
)
};
export default ProgressBar;
这是我的 UploadForm.js:
import React, { useState } from "react";
import ProgressBar from "./components/ProgressBar";
const UploadForm = () => {
const [file, setFile] = useState(null); //to begin with we dont select a file
const types = ["image/png", "image/jpeg"];
const [error, setError] = useState(null);
const changeHandler = (e) => {
let selected = e.target.files[0];
if (selected && types.includes(selected.type)) {
setFile(selected);
setError("");
} else {
setFile(null);
setError("pls select an image file (png or jpeg)");
}
};
return (
<form>
<input type="file" onChange={changeHandler} />{" "}
<div className="output">
{" "}
{error && <div className="error"> {error} </div>}{" "}
{file && <div> {file.name} </div>}{" "}
{file && <ProgressBar file={file} setFile={setFile} />}{" "}
</div>{" "}
</form>
);
};
export default UploadForm;
这是我的 useStorage.js:
import {
useState,
useEffect
} from 'react'
import {
projectStorage
} from "../firebase/config"
const useStorage = (file) {
const [progress, setProgress] = useState(0)
const [error, setError] = useState(null)
const [url, setURL] = useState(null)
//going to fire everytime the dependency(file) changes
useEffect(() => {
//references
const storageRef = projectStorage.ref(file.name)
storageRef.put(file).on('state_changed', (snap) {
let percentage = (snap.bytesTransferred / snap.totalBytes) * 100
setProgress(percentage)
}, (err) => {
setError(error)
}, async() => {
const url = await storageRef.get.DownloadURL()
setUrl(url)
})
}, [file]);
return {
progress,
url,
error
}
}
export default useStorage;
解决方案
import ProgressBar from "./components/ProgressBar";
表示当前.
目录,UploadForm.js 在 src/components 目录下。所以这条线试图访问不存在的src/components/components/ProgressBar。将其更改为:
import ProgressBar from './ProgressBar";
推荐阅读
- mysql - Sql获取连续日期的计数
- python - Django在重定向后得到表单错误
- excel - 是否可以将工作表中的多个范围作为 .emf 图片嵌入到 Outlook 邮件正文中?
- python-3.x - 将 mp4 文件保存到 csv 以训练数据
- html - sceditor如何将bbcode解析回html?
- r - 如何在 data.table 列表上应用聚合和 rbind?
- excel - 将“模板”工作表复制到其他工作表
- javascript - 从 url 源打印 docx 文件
- c# - 如何在 CollectionView 中使用 FindByName
- angular - 为什么输入没有从 FormArray 显示