我正在使用React和Node.js,并且尝试使用src属性存储为道具来渲染图像。但是,每当我尝试向require()
输入作为变量存储的路径时,都会给出此错误:找不到模块“。”
所以我想知道为什么require无法处理指向路径但可以处理路径本身的变量?例如,这将导致上述错误:
<MyComponent imageSrc='./image.jpg'/>
...
<img src={require(this.props.imageSrc)}/>
但这将完美地起作用:
<img src={require('./image.jpg')}/>
答案 0 :(得分:2)
正如评论中所述,实际上,您不需要在此处提供任何图像。您可以在src目录中使用相对路径。但是,对于您的情况,这将起作用:
在将道具传递到组件时使用require:
<MyComponent imageSrc={require("./image.jpg")} />
并在此处使用该道具:
<img src={this.props.imageSrc} />
我最近学到的另一种解决方案:
<img src={require( "" + this.props.imageSrc) } />