私はアイテムのリストを持っています。各項目は、itemId
を渡してMyComponent
に表示できます。選択した項目の変更をリッスンするために、私はmyService
を渡している:react 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
をマウントします。これは複数のインスタンスで問題になります。
アクティブなマウント済みのコンポーネントのみをリッスンし、アンマウントされるとすぐにリリースしたいと考えています。
アイデア?
ありがとうございます!
great、upvote ..私は相談が必要です:*ネイティブ*タグを反応させるトップユーザーとして、あなたは価値があると思っていますか?誰かがそれは完璧だと言って、他の誰かがひどい考えだと言うので、私は混乱している、私は(AndroidとiOSの両方のオペレーティングシステムのための)モバイルアプリケーション*を作りたいと思う*、まあ、反応するネイティブ*?または*ネイティブに反応してください。初心者のアプリを作ることができますか?また、ネイティブ*に反応して作成されたアプリの品質はどうですか?ありがとう – Alex
Mmm ...私も最初は少し気が利いていませんでしたが、今はRNが大規模/専門的なアプリケーションを扱うのにかなり良いと思います。バックグラウンドジョブやプッシュ通知のようないくつかのタスクを実行することはまだ困難ですが、ライブラリは各リリースでより多くの機能を追加し続け、新しいバージョンの安定性も高くなります(リリースサイクルは遅くなります)。それはまた、学ぶのにあまり時間がかからないので、安全な投資であると言います。 – martinarroyo