Fabric: Proper traits for `ImageShadowNode` and `ViewShadowNode`

Summary:
* <Image> must be a leaf node; having a proper trait will fail earlier in case of misuse (mounting something inside).
* <View> must have a `View` trait because it's for what that trait is.

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: sammy-SC

Differential Revision: D21028573

fbshipit-source-id: 457716d4661333eb2357f34316f3e495ab4fda24
This commit is contained in:
Valentin Shergin 2020-04-17 21:17:31 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 4c538fc8d0
Коммит 62544c0830
2 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -30,6 +30,12 @@ class ImageShadowNode final : public ConcreteViewShadowNode<
public:
using ConcreteViewShadowNode::ConcreteViewShadowNode;
static ShadowNodeTraits BaseTraits() {
auto traits = ConcreteViewShadowNode::BaseTraits();
traits.set(ShadowNodeTraits::Trait::LeafYogaNode);
return traits;
}
/*
* Associates a shared `ImageManager` with the node.
*/

Просмотреть файл

@ -23,6 +23,12 @@ class ViewShadowNode final : public ConcreteViewShadowNode<
ViewProps,
ViewEventEmitter> {
public:
static ShadowNodeTraits BaseTraits() {
auto traits = BaseShadowNode::BaseTraits();
traits.set(ShadowNodeTraits::Trait::View);
return traits;
}
ViewShadowNode(
ShadowNodeFragment const &fragment,
ShadowNodeFamily::Shared const &family,