首页 > 解决方案 > 在 componentDidMount() 中重新加载脚本

问题描述

我在我的 react 项目的一个组件中使用了 simplemaps。我在 index.html 中添加了这两个脚本 <script type="text/javascript" src="map/mapdata.js"></script> <script type="text/javascript" src="map/countrymap.js"></script>

这些脚本将地图加载到以下 div 中的我的 React 组件之一中

<div id="map"></div>

出于某种原因,只有当 id="map" 的 div 在 DOM 中用于初始应用程序装载时,才会加载此地图。在切换路线时(即当这个 id="map" 的 div 不在 DOM 中时)并返回到同一个组件(即当这个 id="map" 的 div 再次出现在 DOM 中时)我无法除非我重新加载整个应用程序,否则请查看此地图。

标签: javascriptreactjsreact-router

解决方案


在js代码中

<script>

//code when switched
if(switched){ 
require('./map/mapdata.js'); 
} else {
require('./map/another.js'); }
</script>

像这样的用法会起作用


推荐阅读