"А зачем передавать карту вот так наружу?" А зачем - описано в статье. "Полагаю, правильнее было бы" В каком месте то что вы предлагаете претендует на правильность? Какие у вас критерии правильности и в чем они заключаются? "Ведь карта - это кусок слоя представления" Как насчет куска слоя рендерига? И использования SRP что подразумевает разделение рендеринга и бизнес логики? "Доступ к карте отовсюду может привести к анархии в коде." Если вы не умеете грамотно использовать SRP то не удивительно что в вашем коде возникает анархия
Именно поэтому я изначально рассмотрел "классические" методы о которых Вы говорите.
В разных ситуациях удобнее использовать различные подходы.
Вы можете использовать любой метод который считаете правильным в вашем конкретном случае.
Имхо в приведенном примере компонент может оказаться слишком загруженным, так как вся синхронизация происходит через компонент. Вынос всей этой дополнительной логики за рамки компонента сделает код чище.
Можно будет убедиться в этом в моей следующей статье - Управление состоянием React приложения с mapbox-gl с использованием XState где будут показаны преимущества данного подхода.
Я рад за вас, стремитесь использовать не жирные и не отвратительные вещи
"А зачем передавать карту вот так наружу?"
А зачем - описано в статье.
"Полагаю, правильнее было бы"
В каком месте то что вы предлагаете претендует на правильность? Какие у вас критерии правильности и в чем они заключаются?
"Ведь карта - это кусок слоя представления"
Как насчет куска слоя рендерига? И использования SRP что подразумевает разделение рендеринга и бизнес логики?
"Доступ к карте отовсюду может привести к анархии в коде."
Если вы не умеете грамотно использовать SRP то не удивительно что в вашем коде возникает анархия
Это вы только что заново изобрели то о чем я написал в статье, поздравляю
Спасибо, поправлю
Ваш пример, опять же, не решает проблему приведенную в статье - удобный доступ к инстансу карты из других компонентов.
Удаление экземпляра происходит и в моем случае, независимо от того где она, внутри, снаружи.
Описанный Вами подход имеет место быть, но это не значит что он единственно верный.
Именно поэтому я изначально рассмотрел "классические" методы о которых Вы говорите.
В разных ситуациях удобнее использовать различные подходы.
Вы можете использовать любой метод который считаете правильным в вашем конкретном случае.
Имхо в приведенном примере компонент может оказаться слишком загруженным, так как вся синхронизация происходит через компонент. Вынос всей этой дополнительной логики за рамки компонента сделает код чище.
Можно будет убедиться в этом в моей следующей статье -
Управление состоянием React приложения с mapbox-gl с использованием XState
где будут показаны преимущества данного подхода.