javascript - 在 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 中时)我无法除非我重新加载整个应用程序,否则请查看此地图。
解决方案
在js代码中
<script>
//code when switched
if(switched){
require('./map/mapdata.js');
} else {
require('./map/another.js'); }
</script>
像这样的用法会起作用
推荐阅读
- python-3.x - Python程序查找目标元素的开始和结束索引(类型错误:leetcode中的不可散列列表)
- django - 无法从测试中检查 Django 迁移,但可以使用 Django 命令
- append - Power Query - 减去不连续的行并创建一个新行
- reactjs - 如何在 Nextjs 中导入两个组件
- docker - Gitlab CI。来自守护进程的错误响应:没有这样的图像
- protocol-buffers - 添加新消息后的 Proto2 编码/解码问题
- c - 为什么我在将 for 循环的乘积声明为 C 中的变量时收到此错误“错误:预期表达式”
- python - 当您知道嵌套键时访问嵌套字典?
- c++ - /d2vzeroupper MSVC 编译器优化标志在做什么?
- flutter - 我怎样才能制作这个 rtl - 颤动