Javascript 当文件名位于redux存储中时,如何指定图像路径
嗨,我有一个react/redux应用程序,它是在CreateReact应用程序的基础上构建的(所以没有网页包,叹气,我cld eject,我想这没什么大不了的),在redux商店中有图像文件名。为了渲染图像,我必须提供它们的路径。这段代码是到目前为止唯一有效的Javascript 当文件名位于redux存储中时,如何指定图像路径,javascript,reactjs,redux,Javascript,Reactjs,Redux,嗨,我有一个react/redux应用程序,它是在CreateReact应用程序的基础上构建的(所以没有网页包,叹气,我cld eject,我想这没什么大不了的),在redux商店中有图像文件名。为了渲染图像,我必须提供它们的路径。这段代码是到目前为止唯一有效的,但是在呈现函数中添加require语句似乎有点不对劲。我也不知道如何测试它()。我的应用程序目前没有路由,但我最终会添加一些,所以如果我可以使用react路由器来解决这个问题,我会的。相关代码如下所示: 模块 import React
,但是在呈现函数中添加require语句似乎有点不对劲。我也不知道如何测试它()。我的应用程序目前没有路由,但我最终会添加一些,所以如果我可以使用react路由器来解决这个问题,我会的。相关代码如下所示:
模块
import React from 'react'
import PropTypes from 'prop-types'
const UserProfile = ({name='', avatar=''}) => {
return (
<section className='bg-bright padding-m'>
<img alt='avatar' src={require(`../../assets/${avatar}`)} />
{name}
</section>
)
}
UserProfile.propTypes = {
name: PropTypes.string,
avatar: PropTypes.string
}
export default UserProfile
该行显示为
<img alt="avatar" src="/static/media/admin.34e378b0.jpg">
谢谢
将require语句放在render函数中似乎有点不妥
当然,提供的代码只能正常工作,因为启用了适当的webpack
插件,并且提供了类似于图像加载器的加载器。
当提供一些相对路径时,webpack
执行包括目标dist build中的所有根目录,然后在运行时执行变量读取并从dist build中获取资源
如果需要,只需在媒体解析程序的一部分中重新配置webpack config
:
将require语句放在render函数中似乎有点不妥
当然,提供的代码只能正常工作,因为启用了适当的webpack
插件,并且提供了类似于图像加载器的加载器。
当提供一些相对路径时,webpack
执行包括目标dist build中的所有根目录,然后在运行时执行变量读取并从dist build中获取资源
如果您愿意,只需在media resolver的一部分重新配置webpack config
:这里有什么问题?我当前的解决方案似乎有些粗糙,我觉得必须有一种更合理的方法,考虑到require语句是一个模块,测试证明了这一点,此外,我也不知道如何让测试通过。这里有什么问题?我目前的解决方案似乎有些粗糙,我觉得必须有一个更合理的方法,考虑到需要语句作为一个模块的测试证明了这一点,我也不知道如何让测试通过。
<img alt="avatar" src="/static/media/admin.34e378b0.jpg">