无法使用React导入SVG动态

时间:2018-08-05 10:54:59

标签: javascript reactjs react-native

我尝试了以下代码来动态导入SVG。

let selectedFloor = require('../svg/floor1.svg');
this.setState({
  SvgMap : selectedFloor
})

render() {
  return (
    <div>
      <span dangerouslySetInnerHTML={{ __html: this.state.SvgMap }} />
    </div>
  );

结果:

Result

2 个答案:

答案 0 :(得分:0)

尝试这样:

<span dangerouslySetInnerHTML={{ __html: '<img src=`${this.state.SvgMap}` /> }} />

答案 1 :(得分:0)

我认为您应该使用img标签,并且可以将SVG文件的路径保持在状态或仅保留名称的状态。

const selectedFloor = 'floor1.svg';
this.setState({
    SvgMap : selectedFloor
});

render() {   
    return (
      <div>
          <img src={`../svg/${this.state.SvgMap}`}
      </div>
    );
}