【发布时间】:2020-06-19 03:13:50
【问题描述】:
到目前为止,我一直在使用基本的 HTML/CSS/JS,现在我尝试使用 React/Gatsby。 我从 Kakao 获得了 API 代码,并确认以下代码在 index.html 中有效:
<body>
<div id="map" style="width:1000px;height:500px;"></div>
<script src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=3199e8f198aff9d5aff73000faae6608"></script>
<script>{
var mapContainer = document.getElementById('map'),
mapOption = {
center: new kakao.maps.LatLng(37.56591, 126.97894),
level: 4,
mapTypeId : kakao.maps.MapTypeId.ROADMAP
};
var map = new kakao.maps.Map(mapContainer, mapOption);
}</script>
</body>
由于我正在尝试 React/Gatsby 框架,我必须以某种方式将该脚本重新格式化为 index.js。 HTML 可以很容易地复制/粘贴到返回函数,但我不知道如何在 React index.js 中编写上述脚本。
import React from "react"
export default class Home extends React.Component {
render() {
return (
<div style={{ color: `purple` }}>
<p>Welcome to donghwankim.com!</p>
<p>Powered by Gatsby</p>
<div id="map" style={{"height" : "1000px", "width" : "500px"}}></div>
<script src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=3199e8f198aff9d5aff73000faae6608"></script>
<script>{
var mapContainer = document.getElementById('map'),
mapOption = {
center: new kakao.maps.LatLng(37.56591, 126.97894),
level: 4,
mapTypeId : kakao.maps.MapTypeId.ROADMAP
};
var map = new kakao.maps.Map(mapContainer, mapOption);
}</script>
</div>
)}
}
我尝试了几件事:
- 只需像上面一样复制粘贴脚本。在这种情况下,我从复制的脚本中得到语法错误:
意外的令牌。你是说
{'}'}还是&rbrace;?
- 危险地使用SetInnerHTML。没有语法错误,但地图 API 工作不正常。
谢谢。
【问题讨论】:
标签: javascript html reactjs gatsby