javascript - IMG 标签未在 reactJS 中显示给定图片
问题描述
我的 reactJS 应用程序中有用户配置文件组件,我想在加载组件时显示用户配置文件图片,我使用 nodeJS Express 作为 BE,PostgreSQL 作为 DB。这是我想要做的
const [img,setImg] = useState()
let user : any = useSelector((state : any) => state.singleUser)
let {avatar} = user
useEffect((): void => {
axios
.get(`http://localhost:4000/getUser/${match.params.userId}`)
.then((users) => {
dispatch(actions.getUser(users.data))
})
.catch((err) => {
console.log('--------err', err);
})
},[])
在此之后,我将 Img 设置为 img,如下所示:
useEffect (() : void => {
setImg(avatar)
console.log('--------img', img);
})
当我console.log(img)
得到这样的 img 路径时uploads/avatar-1594717135245.jpeg.gif
这是我的 img 标签:<img ref={fileRef} src={img} width={'400'} alt={'picture'}/>
它在控制台中没有显示任何错误,但问题是它显示 img 一秒钟然后消失。任何建议为什么以及如何修复它?
解决方案
尝试在调度后直接移动setImage(users.data.avatar),你已经有了头像信息。删除秒 useEffect,您将有更少的移动部件来调试问题。
推荐阅读
- python-3.x - 如果数据框中存在值,则将值设为索引并用 1 替换值
- html - Html-loader + file-loader 未绑定正确的图像源
- clang - clang/llvm 编译致命错误:找不到“cstdarg”文件
- c# - 从json的listview中显示listview
- c++ - 可能平凡可构造类型的聚合初始化。隐藏基类可能吗?
- android - 自动 BLE 断开连接 - Windows10、Android
- sql - 如果传递零,则参数化存储过程跳过
- java - @拆机后,睡眠 100 毫秒,测试全部通过
- forms - xamarin 形成选择器将选定的值绑定到 NgModel,如 angular
- schema.org - schema.org 微数据。有没有办法指定某个属性已被有意排除?