2017-02-28 6 views
0

React NativeからネイティブiOSビューへのコールバック関数を含む複雑な構造体をプロパティとして渡す方法はありますか?例えば。コールバックを持つ構造体をReact Nativeからネイティブビューに渡す

[ 
    { 
    'type': 'some type', 
    'callback': this.someCallback 
    }, 
    { 
    'type': 'another type', 
    'callback': this.anotherCallback 
    } 
] 

このような構造の場合、コールバックは空の辞書のように渡されます。

+0

あなたは、コールベースを送信しないカントがありますが、同期アップのための '' 'DeviceEventEmitter'''を聞くことができます。さらに、 '' 'NativeModules.EventHook'''を使ってデータを送信したり、データを受け取ったりすることができます。リアルタイムコールバックはないと思うが、アプリのライフサイクルイベントだけを聞くことができる。 –

答えて

0

関数はシリアライズ可能ではないため、ネイティブブリッジに渡すことはできません。

ネイティブUIコンポーネントには、基本的にネイティブ側で呼び出すことができるブロックで、イベントを表すプロパティがあり、JSコンポーネントを表すコールバックとして受け取られます。例えば

//native property 
@property (nonatomic, copy) RCTBubblingEventBlock onSomeEvent; 

//native usage 
if(self.onSomeEvent) { 
    self.onSomeEvent(@{@"myParam": @"param_value"}); 
} 

//JS side 
<MyView onSomeEvent={params => console.log('got params', params)}/> 
関連する問題