21 thoughts on “Warning: Accesing view manager configs for getConstants

  1. Same warning here, Expo SDKv34

    Accessing view manager configs directly off UIManager via UIManager['getConstants'] is no longer supported. Use UIManager.getViewManagerConfig('getConstants') instead.
    - node_modules/expo/build/environment/muteWarnings.fx.js:17:23 in warn
    - node_modules/react-native/Libraries/ReactNative/UIManager.js:164:12 in get
    - node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js:42:18 in getValue
    - node_modules/react-native-gesture-handler/createHandler.js:39:2 in <unknown>
    
  2. hey guys, just downgrade react-native-gesture-handler to 1.3.0.

    You can directly change version in your package.json to ~1.3.0 and run npm i/yarn or remove it and install through expo how described here

  3. This was introduced with this commit.

    It’s not immediately clear whether overwriting UIManager.getConstants is even the right approach now that getViewManagerConfig is used… presumably to keep backwards compatibility you’d have to do both, but do a version check to prevent the warning on RN 60+.

  4. Edit, you can now use expo install react-native-gesture-handler. It will take care of everything I listed below. 😁 (Don’t forget to clean your cache with expo start --clear)


    For anyone using Expo, brent pointed out a way to fix it. Basically, you need to install the specific versions listed here.

    As of writing, the version required is ~1.3.0. Because NPM doesn’t play nice with the tilde (~) you might have to edit it manually in your package.json.

    But for those who want a quick fix, here are some commands that you can run to fix it.

    // make sure you have the latest expo-cli (if you have >=3.1.0, you can skip this)
    $ npm install -g expo@latest
    
    // remove your node_modules and package-lock.json (just to be sure)
    $ rm -rf node_modules package-lock.json
    
    // check if you have `react-native-gesture-handler` listed already (if so **remove it**)
    $ cat package.json | grep react-native-gesture-handler
    
    // use expo to install the appropriate version
    $ expo install react-native-gesture-handler
    
    // start expo with a clean cache
    $ expo start --clear
  5. For anyone using Expo, brent pointed out a way to fix it. Basically, you need to install the specific versions listed here. (as of writing, it’s ~1.3.0, note the ~).

    But for those who want a quick fix, here are some commands that you can run to fix it.

    // make sure you have the latest expo-cli (if you have 3.1.0, you can skip this)
    $ npm install -g expo@latest
    
    // remove your node_modules and package-lock.json (just to be sure)
    $ rm -rf node_modules package-lock.json
    
    // check if you have `react-native-gesture-handler` listed already (if so **remove it**)
    $ cat package.json | grep react-native-gesture-handler
    
    // use expo to install the appropriate version
    $ expo install react-native-gesture-handler
    
    // start expo with a clean cache
    $ expo start --clear

    It worked for me. Thanks!

  6. I’m using expo SDK version: “34.0.0”
    and react-native-gesture-handler v 1.4.1 then I get warning,
    use npm i react-native-gesture-handler@1.3.0 this worked

  7. Edit, you can now use expo install react-native-gesture-handler. It will take care of everything I listed below. 😁

    For anyone using Expo, brent pointed out a way to fix it. Basically, you need to install the specific versions listed here.

    As of writing, the version required is ~1.3.0. Because NPM doesn’t play nice with the tilde (~) you might have to edit it manually in your package.json.

    But for those who want a quick fix, here are some commands that you can run to fix it.

    // make sure you have the latest expo-cli (if you have >=3.1.0, you can skip this)
    $ npm install -g expo@latest
    
    // remove your node_modules and package-lock.json (just to be sure)
    $ rm -rf node_modules package-lock.json
    
    // check if you have `react-native-gesture-handler` listed already (if so **remove it**)
    $ cat package.json | grep react-native-gesture-handler
    
    // use expo to install the appropriate version
    $ expo install react-native-gesture-handler
    
    // start expo with a clean cache
    $ expo start --clear

    This solution worked for me. Thanks.
    expo: ^35.0.0
    expo-cli : 3.3.0
    react-navigation : ^3.11.0
    react-native-gesture-handler: ^1.3.0

  8. Edit, you can now use expo install react-native-gesture-handler. It will take care of everything I listed below. 😁
    For anyone using Expo, brent pointed out a way to fix it. Basically, you need to install the specific versions listed here.

    As of writing, the version required is ~1.3.0. Because NPM doesn’t play nice with the tilde (~) you might have to edit it manually in your package.json.

    But for those who want a quick fix, here are some commands that you can run to fix it.

    // make sure you have the latest expo-cli (if you have >=3.1.0, you can skip this)
    $ npm install -g expo@latest
    
    // remove your node_modules and package-lock.json (just to be sure)
    $ rm -rf node_modules package-lock.json
    
    // check if you have `react-native-gesture-handler` listed already (if so **remove it**)
    $ cat package.json | grep react-native-gesture-handler
    
    // use expo to install the appropriate version
    $ expo install react-native-gesture-handler
    
    // start expo with a clean cache
    $ expo start --clear

    This worked for me, thanks!

    Thanks. it helped me.
    When I install same version of this module with npm or yarn, it still showed to me a same error message.
    However, the error is no longer did not appear when I install the Expo.

  9. This work for me,
    First, delete the node_modules folder, then change the version of the handler in dependencies inside package.json like this:
    "react-native-gesture-handler": "1.3.0"

    After that, only run npm install and done.

    Fixed

  10. For me downgrading RNGH version did not solve the problem. This is the manual fix that fixed it for me:
    Go to ./node-modules/react-native-gesture-handler/createHandler.js and replace the following):

    if (UIManager.getConstants) {
      UIManager.getConstants().genericDirectEventTypes = {
        ...UIManager.getConstants().genericDirectEventTypes,
        ...customGHEventsConfig,
      };
    }
    

    to:

    if (UIManager.getViewManagerConfig('getConstants')) {
      UIManager.getViewManagerConfig('getConstants').genericDirectEventTypes = {
        ...UIManager.getViewManagerConfig('getConstants').genericDirectEventTypes,
        ...customGHEventsConfig,
      };
    }
    

    Basically we’re doing what the yellow message warned. Hope this help.

    Note: this fix might be ignored by your git repo.