Я пытаюсь реализовать компонент Upload
в приложении реагирования. Я использую ant.design версии 3.26.13. Проблема в том, что страница обновляется, когда я выбираю файл. Я не знаю, почему это освежает. И я имею в виду refre sh не повторный рендеринг. Возможное, что приходит мне в голову, это то, что кнопка может быть отправлена. Но я не вижу ничего подобного. Ниже приведен код.
import { Upload, message, Button, Icon } from 'antd';
const MyUpload = () => {
const props = {
name: 'file',
action: 'http://localhost:3100/api/upload',
onChange(info) {
if (info.file.status !== 'uploading') {
console.log(info.file, info.fileList);
}
if (info.file.status === 'done') {
message.success(`${info.file.name} file uploaded successfully`);
} else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`);
}
},
};
return (
<Upload {...props}>
<Button>
<Icon type="upload" /> Click to Upload
</Button>
</Upload>
)
}
export default MyUpload;
URL моего действия имеет следующий бэкэнд:
var express = require("express");
var router = express.Router();
var multer = require("multer");
var upload = multer({ dest: "assets/" });
router.post("/cover", upload.single("cover"), (req, res, next) => {
if (req.file) {
res.status(200).json({
isSuccess: true,
message: "Image Uploaded!",
data: req.file
});
} else
res.status(200).json({
isSuccess: false,
message: "File is required!"
});
});
РЕДАКТИРОВАТЬ
Я определил, что если я изменю ответ API на :
router.post("/cover", upload.single("cover"), (req, res, next) => {
res.status(200).send();
});
Страница не обновлена sh. Я не понял, почему это так? Может кто-нибудь разработать поток?