Javascript 当文件名位于redux存储中时,如何指定图像路径

Javascript 当文件名位于redux存储中时,如何指定图像路径,javascript,reactjs,redux,Javascript,Reactjs,Redux,嗨,我有一个react/redux应用程序,它是在CreateReact应用程序的基础上构建的(所以没有网页包,叹气,我cld eject,我想这没什么大不了的),在redux商店中有图像文件名。为了渲染图像,我必须提供它们的路径。这段代码是到目前为止唯一有效的,但是在呈现函数中添加require语句似乎有点不对劲。我也不知道如何测试它()。我的应用程序目前没有路由,但我最终会添加一些,所以如果我可以使用react路由器来解决这个问题,我会的。相关代码如下所示: 模块 import React

嗨,我有一个react/redux应用程序,它是在CreateReact应用程序的基础上构建的(所以没有网页包,叹气,我cld eject,我想这没什么大不了的),在redux商店中有图像文件名。为了渲染图像,我必须提供它们的路径。这段代码是到目前为止唯一有效的
,但是在呈现函数中添加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">