Skip to content

Conversation

@rozele
Copy link
Owner

@rozele rozele commented Mar 15, 2018

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:

(You can skip this if you're fixing a typo or adding an app to the Showcase.)

Explain the motivation for making this change. What existing problem does the pull request solve?

Prefer small pull requests. These are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it.

Test plan (required)

Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.

Make sure tests pass on both Travis and Circle CI.

Code formatting

Look around. Match the style of the rest of the codebase. See also the simple style guide.

For more info, see the "Pull Requests" section of our "Contributing" guidelines.

rozele added 6 commits March 15, 2018 08:18
…endencyObject

This change removes the coupling between the `NativeViewHierarchyManager`, `IViewManager`, and `IViewParentManager` and `DependencyObject`. It affords the opportunity to use alternative base classes other than `DependencyObject`, such as handles to lower level XAML APIs. There are a few notable exceptions to the decoupling in this change:
- LayoutAnimation still depends on FrameworkElement
- UIManager.[measure|measureInWindow|findSubViewIn] still depend on UIElement.
- Touch handling still enumerates the DependencyObject sub-tree.
The ReactStylesDiffMap is not a useful abstraction. Everything in react-native-windows is tightly coupled with Newtonsoft.Json. If we decide to abandon that dependency, then we should revisit a ReactNative specific JSON data model abstraction. In the meantime, since we're making breaking changes to IViewManager anyway, it's a good time to eliminate this class.
We originally replaced `prop` with `property` throughout the codebase because at one point code analysis complained that `prop` was not a real word. Prop is still not a real word, but we are not using code analysis currently and prop is a well-known term in React.
Includes base classes for views and view parents.
rozele pushed a commit that referenced this pull request May 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants