4.0.3 • Published 8 years ago

react-leaflet-popup v4.0.3

Weekly downloads
21
License
MIT
Repository
github
Last release
8 years ago

React Leaflet Popup

Замена обычному L.Popup с поддержкой рендеринга через Реакт.

Работает в трёх режимах: 1. Обычный L.Popup без изменения поведения; 2. Использование уже подготовленного Реакт-элемента; 3. Использование Реакт-компонента с заданием свойств;

Как использовать? 1. Режим обычного Popup - использовать как обычно - Popup.setContent устанавливает HTML или DOM-элемент. 2. С подготовленным Реакт-элементом При создании задать в options.reactElement корректный Реакт-элемент. При необходимости обновления вызвать setContent с новым Реакт-элементом. 3. С Реакт-компонентом (думаю, это самый рабочий вариант) При создании задать в options.reactComponent корректный Реакт-компонент, а в options.reactComponentProps - свойства, которые будут переданы в компонент. Также в свойства будет добавлено свойство "leafletLayer" - source-объект Попапа. Пример:

```js
var ReactPopup = require('./react-popup');
var MyPopupComponent = require('./components/my-popup') // .jsx
map.on('click', function (e) {
   map.openPopup(ReactPopup({
       reactComponent: MyPopupComponent,
       reactComponentProps: { data: someFeature.properties }
   }).setLatLng(e.latlng));
});
```

В режимах 2 и 3 реакт рендерится в элемент wrapper (см. DOM-структуру Попапа), который оборачивает содержимое. То есть основная структура и кнопка "закрыть" в этой версии находятся вне компонента. При закрытии Попапа, перед уничтожением, теоретически должна быть корректно вызвана функция жизненного цикла Реакт-компонента "componentWillUnmount". После инициализации компонента предполагается, что режим его работы менятся не будет.

How to run the example

git clone https://github.com/burmisov/react-redux-leaflet
cd react-redux-leaflet
npm install
npm run example

Open http://localhost:3000

4.0.3

8 years ago

4.0.0

8 years ago

3.0.0

8 years ago

2.0.0

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago