mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
49b3b31d8e
Summary: While investigating an issue hit on a recent sync of [react-native-windows](https://github.com/microsoft/react-native-windows) I noticed that https://github.com/facebook/react-native/commit/e68cf7cee9d36271a1d3899fecff817304bb8bdc appears to have accidently inverted the logic to avoid checking native components. `!UIManager.getViewManagerConfig(componentName)` become `UIManager.hasViewManagerConfig(componentName)` losing the ! Also adding a check in PaperUIManager's getViewManagerConfig to avoid trying to call a sync method when using Chrome Debugging. ## Changelog [Internal] [Fixed] - Restored the previous logic of deprecatedPropType Pull Request resolved: https://github.com/facebook/react-native/pull/31164 Test Plan: Change tested and being submitted in react-native-windows: https://github.com/microsoft/react-native-windows/pull/7397 Reviewed By: hramos Differential Revision: D30624302 Pulled By: fkgozali fbshipit-source-id: 0f26e750283a1fa5eb5f44ecd2cf90617b6d931f
37 lines
946 B
JavaScript
37 lines
946 B
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
* @flow strict-local
|
|
*/
|
|
|
|
import UIManager from '../ReactNative/UIManager';
|
|
|
|
/**
|
|
* Adds a deprecation warning when the prop is used.
|
|
*/
|
|
function deprecatedPropType(
|
|
propType: ReactPropsCheckType,
|
|
explanation: string,
|
|
): ReactPropsCheckType {
|
|
return function validate(props, propName, componentName, ...rest) {
|
|
// Don't warn for native components.
|
|
if (
|
|
global.RN$Bridgeless !== true &&
|
|
!UIManager.hasViewManagerConfig(componentName) &&
|
|
props[propName] !== undefined
|
|
) {
|
|
console.warn(
|
|
`\`${propName}\` supplied to \`${componentName}\` has been deprecated. ${explanation}`,
|
|
);
|
|
}
|
|
|
|
return propType(props, propName, componentName, ...rest);
|
|
};
|
|
}
|
|
|
|
module.exports = deprecatedPropType;
|