mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
3a06cca9dc
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/36395 NativeState is a lighter-weight alternative to HostObject, which may simplify some of our use-cases of interacting with JS in the renderer. The down-side is that this approach doesn't allow exposing custom props or functions. This diffs adds new feature flags to enable experimenting with this functionality and measure any perf impact. Changelog: [Internal] Reviewed By: sammy-SC Differential Revision: D41553421 fbshipit-source-id: 3065bd7b60f0fa7b63c390e92a785582eee7e613
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
/*
|
|
* Contains the set of feature flags for the renderer core.
|
|
* Some of them are temporary and may be eventualy phased out
|
|
* as soon as the feature is fully implemented.
|
|
*/
|
|
class CoreFeatures {
|
|
public:
|
|
// Specifies whether the iterator-style prop parsing is enabled.
|
|
static bool enablePropIteratorSetter;
|
|
|
|
// This is used as a feature flag for *all* PropsX structs.
|
|
// For MapBuffer to be used for a particular component instance,
|
|
// its ShadowNode traits must set the MapBuffer trait; and this
|
|
// must be set to "true" globally.
|
|
static bool enableMapBuffer;
|
|
|
|
// When enabled, Fabric will block paint to allow for state updates in
|
|
// useLayoutEffect hooks to be processed. This changes affects scheduling of
|
|
// when a transaction is mounted.
|
|
static bool blockPaintForUseLayoutEffect;
|
|
|
|
// Whether to use Hermes' NativeState instead of HostObject
|
|
// in simple data passing scenarios with JS
|
|
static bool useNativeState;
|
|
};
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|