У меня есть приложение реакции/сокращения, которое я добавил в карточку листовки. Карта буклета заполняется через geoJSON. Есть ли способ, который я могу назвать действием redux через пользователя, нажимает на функцию карты? Мне бы очень хотелось иметь возможность запускать действие, когда пользователь нажимает на всплывающее окно. Я хотел бы сохранить номер идентификатора функции, которую пользователь нажал, чтобы я мог запустить действие для извлечения данных и поместить их в хранилище, а затем открыть другую страницу с подробностями этой функции., вызывающие действия сокращения из карты листовок
Это то, что я имею в листовке:
myLayer = L.geoJSON(features, {
//only points here
filter: function(feature, layer) {
return (feature.geometry.type == "Point");
},
//make each point a circle
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, geojsonMarkerOptions);
},
onEachFeature: function(feature, layer) {
//popup contents
var customPopup = `<div class='popuplink' > <-----user clicks
<p>${feature.properties.title}</p></div>`;
//popup options
var customOptions =
{
width: '72', //about 1 inch
className: 'custom'
};
//create layer
layer.bindPopup(customPopup, customOptions);
}
});
myLayer.addTo(map);
Я пытался поставить в ссылке во всплывающем окне, что при нажатии идет на страницу я хочу. (Я использую в маршрутизаторе «агент-ретранслятор»). Примерно так:
var customPopup = `<a href='/details/${feature.properties.id} >
<p>${feature.properties.title}</p></a>`;
Но когда я это делаю, весь редукционный магазин INIT называется, и я теряю все. Может кто-нибудь объяснить мне, почему это происходит? Я понимаю, что листовки и реагируют каждый, поддерживая свое собственное государство. Но есть ли способ создать мост между ними, чтобы я мог вызывать действия с карты, не теряя моего магазина?
Если вы обернуть компонент листовки и сделать магазин для него? –