До сих пор я использовал basi c HTML / CSS / JS, а теперь попробовал использовать React / Gatsby. Я получил код API от Kakao и подтвердил, что следующий код работает в индексе. 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, мне нужно как-то переформатировать этот скрипт для индексации. js. HTML можно легко скопировать / вставить для возврата функции, но я не знаю, как написать приведенный выше скрипт в индексе React. 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>
)}
}
Несколько вещей, которые я пробовал:
- Просто скопируйте скрипт вставки, как указано выше. В этом случае я получаю синтаксическую ошибку из скопированного скрипта:
Неожиданный токен. Вы имели в виду {'}'}
или }
?
Используйте опасноSetInner HTML. Синтаксической ошибки нет, но API карты не работает должным образом.
Спасибо.