reactjs - img 未显示在 img 标签 reactjs 中
问题描述
我将我的 img 保存在状态和数据库中,我试图将它作为我的 img 标签中的 src 传递,但它没有呈现任何内容。有什么建议么?
const fileselectedHandler = (event : any) => {
newImg(event.target.files[0])
}
const [img,newImg] = useState()
<img src={img} />
解决方案
从后端它取决于数据的发送方式,如果您只是想从输入字段访问图像,那么这将是实现。
TL;DR单击下面的运行代码片段以查看它的工作情况。
我还写了几篇关于该主题的文章:
链接:
// main.js
const { useState } = React;
const App = () => {
// State / Props
const [preview, setPreview] = useState(null);
// Functions
const onInputFileChange = event => {
// reset each time
setPreview(null);
// Define supported mime types
const supportedFilesTypes = ['image/jpeg', 'image/png'];
if (event.target.files.length > 0) {
// Get the type of the first indexed file
const { type } = event.target.files[0];
if (supportedFilesTypes.indexOf(type) > -1) {
const reader = new FileReader();
reader.onload = e => { setPreview(e.target.result); };
reader.readAsDataURL(event.target.files[0]);
}
}
};
return (<div><h1>Choose an image</h1><input onChange={onInputFileChange} type="file" name="file" />{preview && <img src={preview} />}</div>);
};
ReactDOM.render(<App />, document.getElementById('root'));
body {
padding: 10px;
font-family: Arial, sans-serif;
}
h1 {
font-size: 18px;
margin: 0 0 10px 0;
}
input {
background: #efefef;
margin-bottom: 10px;
padding: 6px;
border-radius: 4px;
}
img {
max-width: 600px;
height: auto;
border: 4px solid #ccc;
}
<body>
<div id="root"></div>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script type="text/babel" src="main.js"></script>
</body>
推荐阅读
- r - 使用 LDAP https 身份验证连接 R 和 Presto
- python - 使用 pandas 对分层数据 [Parent->Child] 树进行有效分组
- php - 为什么我会在 php 中得到小于/大于条件的错误结果?
- c++ - 为什么 STL 优先级队列错误地对我的类对象进行排序
- python - CatBoost 中的错误?CatBoostClassifier 不适用于 sklearn 的 CalibratedClassifierCV
- angular - 如何从订阅错误块中的减速器获取错误
- php - 根据 twilio 数据库中的号码拨打多个号码
- sql-server - 参数化 RecordSource 查询以确保数据保持可更新?
- azure-devops - 将值从一个任务输出传递到另一任务
- python - TensorFlow 对象检测 API 和图像大小