Fix clone of props for legacy interop component
Summary: Changelog: [internal] Cloning of `LegacyViewManagerInteropViewProps` causes loss of `sourceProps.otherProps` if the cloning happens before shadow node is mounted. This was happening in WebView and callback `onLoadEnd` was dropped because of this. Reviewed By: JoshuaGross Differential Revision: D25474581 fbshipit-source-id: 74d7c5cd32b7318bb99306c82bc8b5e5eab63db2
This commit is contained in:
Родитель
2a175b14e6
Коммит
fe887173ee
|
@ -10,10 +10,20 @@
|
|||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
static folly::dynamic recursiveMerge(
|
||||
folly::dynamic const &lhs,
|
||||
folly::dynamic const &rhs) {
|
||||
auto copy = lhs;
|
||||
copy.merge_patch(rhs);
|
||||
return copy;
|
||||
}
|
||||
|
||||
LegacyViewManagerInteropViewProps::LegacyViewManagerInteropViewProps(
|
||||
const LegacyViewManagerInteropViewProps &sourceProps,
|
||||
const RawProps &rawProps)
|
||||
: ViewProps(sourceProps, rawProps), otherProps((folly::dynamic)rawProps) {}
|
||||
: ViewProps(sourceProps, rawProps),
|
||||
otherProps(
|
||||
recursiveMerge(sourceProps.otherProps, (folly::dynamic)rawProps)) {}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
|
|
Загрузка…
Ссылка в новой задаче