@@ -43,8 +43,10 @@ interface AdWrapperProps {
4343 * returned;
4444 } instead; of; a; component; provided.
4545 */
46- // tslint:disable-next-line:variable-name
47- export default < T extends HasNativeAd > ( Component : React . ComponentType < T > ) =>
46+ export default < T extends object & HasNativeAd > (
47+ // tslint:disable-next-line:variable-name
48+ Component : React . ComponentType < T > ,
49+ ) =>
4850 class NativeAdWrapper extends React . Component <
4951 AdWrapperProps & T ,
5052 AdWrapperState
@@ -179,33 +181,29 @@ export default <T extends HasNativeAd>(Component: React.ComponentType<T>) =>
179181 }
180182
181183 private renderAdComponent ( componentProps : T ) : ReactNode {
182- if ( this . state . ad ) {
183- return (
184- < AdIconViewContext . Provider
185- value = { this . registerFunctionsForAdIconView }
186- >
187- < MediaViewContext . Provider
188- value = { this . registerFunctionsForMediaView }
184+ if ( ! this . state . ad ) {
185+ return null ;
186+ }
187+ return (
188+ < AdIconViewContext . Provider value = { this . registerFunctionsForAdIconView } >
189+ < MediaViewContext . Provider value = { this . registerFunctionsForMediaView } >
190+ < TriggerableContext . Provider
191+ value = { this . registerFunctionsForTriggerables }
189192 >
190- < TriggerableContext . Provider
191- value = { this . registerFunctionsForTriggerables }
193+ < AdChoicesViewContext . Provider
194+ value = { this . props . adsManager . toJSON ( ) }
192195 >
193- < AdChoicesViewContext . Provider
194- value = { this . props . adsManager . toJSON ( ) }
195- >
196- { /* Facebook's registerViewForInteraction requires both AdIconView and MediaView
196+ { /* Facebook's registerViewForInteraction requires both AdIconView and MediaView
197197 references to be set. We include both as a default */ }
198198
199- < AdIconView style = { { width : 0 , height : 0 } } />
200- < MediaView style = { { width : 0 , height : 0 } } />
201- < Component { ...componentProps } nativeAd = { this . state . ad } />
202- </ AdChoicesViewContext . Provider >
203- </ TriggerableContext . Provider >
204- </ MediaViewContext . Provider >
205- </ AdIconViewContext . Provider >
206- ) ;
207- }
208- return null ;
199+ < AdIconView style = { { width : 0 , height : 0 } } />
200+ < MediaView style = { { width : 0 , height : 0 } } />
201+ < Component { ...componentProps } nativeAd = { this . state . ad } />
202+ </ AdChoicesViewContext . Provider >
203+ </ TriggerableContext . Provider >
204+ </ MediaViewContext . Provider >
205+ </ AdIconViewContext . Provider >
206+ ) ;
209207 }
210208
211209 render ( ) {
0 commit comments