У меня есть список предметов. Каждый предмет может отображаться в MyComponent
, передавая его itemId
. Для прослушивания на изменениях выбранного пункта, я передаю myService
:ответить native: как отменить регистрацию слушателя/службы?
<MyComponent myService={myService} id={itemId}/>
компонент извлекает сведения об элементе и начинает слушать службу:
componentDidMount() {
this.fetchItemDetails(this.props.id); // fetch the item details
this.props.myService.listensTo('eventId',() => {
// something changed, fetch again ...
});
}
componentWillUnmount() {
// reset/unregister the listener for this instance
}
Проблема: слушатель зарегистрирован каждый раз я монтирую MyComponent
, что становится проблемой с несколькими экземплярами.
Я хочу прослушать только активный, смонтированный компонент и unlisten, как только он будет размонтирован.
Любые идеи?
Заранее благодарен!
отлично, upvote .. Мне нужна консультация: как лучший пользователь в * реагировать на родной тег, как вы думаете, он учит его достойным ?! Кто-то говорит, что это прекрасно, кто-то другой говорит, что это ужасная идея. Поэтому я в замешательстве, я хочу сделать мобильное приложение * (как для операционных систем Android, так и для iOS) *, хорошо, можно сделать профессиональные приложения * реагировать на родной *? Или * отредактируйте родной язык * просто давайте создавать новички? Также как насчет качества приложений, которые были созданы с помощью * response native *? спасибо – Alex
Ммм ... Сначала я тоже немного неохотно, но теперь я думаю, что RN неплохо справляется с большими/профессиональными приложениями. Несмотря на то, что все еще сложно выполнять некоторые задачи, такие как фоновые задания или push-уведомления, библиотека продолжает добавлять больше функциональности с каждой версией, а стабильность каждой новой версии также выше (цикл выпуска замедляется, как следствие). Это также не занимает слишком много времени, чтобы учиться, поэтому я бы сказал, что это безопасная инвестиция. – martinarroyo