mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 09:12:02 +00:00
f7df3bb78a
Summary:The `uiBlockToAmendWithShadowViewRegistry:` is called on every single view manager, on every single layout pass. This causes all view managers to be eagerly intiialized, even if not being used. In practice very few modules actually use this method, so by checking if the method is implemented before calling it, we can eliminate most of this work. (Hopefully in future we can get ride of this method altogether, but right now it's integral to the way that text layout is implemented). Reviewed By: majak, javache Differential Revision: D2982181 fb-gh-sync-id: 818d0aac61197df89263c919c2c80a003e293ac5 shipit-source-id: 818d0aac61197df89263c919c2c80a003e293ac5
39 lines
1.3 KiB
Objective-C
39 lines
1.3 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import "RCTComponent.h"
|
|
#import "RCTDefines.h"
|
|
#import "RCTViewManager.h"
|
|
|
|
@class RCTBridge;
|
|
@class RCTShadowView;
|
|
@class UIView;
|
|
|
|
@interface RCTComponentData : NSObject
|
|
|
|
@property (nonatomic, readonly) Class managerClass;
|
|
@property (nonatomic, copy, readonly) NSString *name;
|
|
@property (nonatomic, weak, readonly) RCTViewManager *manager;
|
|
|
|
- (instancetype)initWithManagerClass:(Class)managerClass
|
|
bridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;
|
|
|
|
- (UIView *)createViewWithTag:(NSNumber *)tag;
|
|
- (RCTShadowView *)createShadowViewWithTag:(NSNumber *)tag;
|
|
- (void)setProps:(NSDictionary<NSString *, id> *)props forView:(id<RCTComponent>)view;
|
|
- (void)setProps:(NSDictionary<NSString *, id> *)props forShadowView:(RCTShadowView *)shadowView;
|
|
|
|
- (NSDictionary<NSString *, id> *)viewConfig;
|
|
|
|
- (RCTViewManagerUIBlock)uiBlockToAmendWithShadowViewRegistry:(NSDictionary<NSNumber *, RCTShadowView *> *)registry;
|
|
|
|
@end
|