Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   React. Получить ссылку на экземпляр компонента (https://javascript.ru/forum/library-toolkit-framework/72511-react-poluchit-ssylku-na-ehkzemplyar-komponenta.html)

Nexus 03.02.2018 15:20

React. Получить ссылку на экземпляр компонента
 
Доброго времени суток.
Знакомлюсь с ReactJS (v.16.2), возникла сложность, которую не получается самостоятельно преодолеть.


Есть блок с Яндекс картой, список маркеров этой карты и "input" для добавления нового маркера.

Класс "Main" отрисовывает страницу и обрабатывает добавление нового маркера:
<div>
	<div class="list">
		<form onSubmit={this.createMarker}>
			<input type="text" ref="input" defaultValue=""/>
		</form>
		<div>
			<List/>
		</div>
	</div>
	<div class="map">
		<Map/>
	</div>
</div>


Класс "List" отрисовывает список маркеров (из состояния ("state")), которые уже присутствуют на карте.

Класс "Map" отрисовывает блок карты, инициализирует карту и добавляет маркеры.

Метод "createMarker" класса "Main" должен изменить состояние класса "List" и вызвать метод класса "Map", который добавит новый маркер.


Как из метода "createMarker" класса "Main" можно обратиться к классу "List" и изменить его "состояние"?

Nexus 03.02.2018 18:40

Неактуально.
Ответ на вопрос не нашел, но это и не понадобилось.

Список точек сохранил как "state" класса "Main", от класса "List" избавился (отрисовку списка перенес в Main.render), классу "Map" список точке передаю как "property" (к моему удивлению карта не удаляется).

Как закончу играться - сохраню тут ссылку на результат.


Upd. github.


Часовой пояс GMT +3, время: 02:13.