introduce Fantom.dispatchNativeStateUpdate #48802
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
changelog: [internal]
Introduces a mechanism to fake C++ state update from JavaScript for testing in Fantom.
One problem with approach in this diff is use of folly::dynamic. To make it work, folly::dynamic is no longer Android only.
iOS and other platforms are not paying extra cost for folly::dynamic being included because they all already have it.
The alternative approach would be to introduce a component specific interface to NativeFantom module so state in ScrollView, TextInput and Image can be manipulated. On the flip side, this is a very flexible solution.
In the future, we might want to introduce Fantom wrappers around ScrollView and TextInput that would be flow typed in tests. They would also make sure that changing ScrollView.contentOffset always triggers both onScroll and state update.
Differential Revision: D68418535