Commit Graph
5 Commits
Author SHA1 Message Date
Valentin Shergin b5cd9e4db1 Fabric: Moving [super updateProps:props oldProps:oldProps]; to the end of the methods
Summary:
In some cases, the view class is the only that retains stored `props_` variable. At the same time the `[super updateProps:props oldProps:oldProps];` actually resets the pointer with a pointer to new props value which sometimes causes the deallocation of the old value. All that is okay unless the implementation of `updateProps:oldProps:` in superclasses stores a raw reference to an old value in the very beginning of the method (for convenience and perf reasons).

So, to prevent preliminary deallocation of the old value pointed by `_props` we moved all `[super updateProps:props oldProps:oldProps];` calls to the end of overloaded methods.

Reviewed By: mdvacca

Differential Revision: D15770068

fbshipit-source-id: af36b3e70560ab00846cd26b0963bbc059e977bc
2019-06-12 21:18:56 -07:00
Valentin Shergin b8bc40e2f0 Fabric: Removing checks for oldProps object in [ComponentView updateProps:oldProps:]
Summary: It's a antient left over which was copy pasted a dozen of times. All `RCTViewComponentView` subclasses have own copy of the old props `_props`, so it's useless to check for `oldProps`.

Reviewed By: mdvacca

Differential Revision: D15770067

fbshipit-source-id: 39f4d71ccdcf0c9a5b911b17a3b922dbe6dd9a8e
2019-06-12 21:18:56 -07:00
Valentin Shergin 0e9c764e28 Fabric: Passing props as const & in RCTComponentViewProtocol
Summary:
Passing shared pointers as references can save us a couple of milliseconds at scale.
Originally, I didn't expect that Objective-C supports passing values by references, but apparently it does.

Reviewed By: mdvacca

Differential Revision: D15473218

fbshipit-source-id: 15eb3770cc0889654647a8e91607d8aa78010121
2019-05-24 12:25:51 -07:00
Valentin Shergin f02feb8d38 Fabric: Codegen for PullToRefresh component
Summary:
Straightforward.
Rick, I rename some stuff, I hope you are cool with that.

Reviewed By: mdvacca

Differential Revision: D15403306

fbshipit-source-id: 1dbd34060052a9bd39ed4211010f14b76fffcde6
2019-05-19 17:44:40 -07:00
Valentin Shergin e8b2145263 Fabric: Standard PullToRefresh component
Summary: This is implementation of standard PullToRefresh component that uses standard iOS component and modern integration approach.

Reviewed By: mdvacca

Differential Revision: D15403308

fbshipit-source-id: 5c877f7c18af9f5ac40e15a4ba44118614ba80bc
2019-05-19 17:44:40 -07:00