Blueprint: Popover throws TypeError: this.updater.enqueueCallback is not a function

Created on 21 Dec 2018  路  5Comments  路  Source: palantir/blueprint

Environment

  • __Package version(s)__: "@blueprintjs/core": "^3.7.0",
  • __Browser and OS versions__:
    Chrome Version 71.0.3578.98 (Official Build) (64-bit).
    Mac OS X El Capitan Version 10.11.6

Question

After migrating to Blueprint version 3, we experience this error everywhere we render a popper on click. Meaning this fires only on the click event which opens the Popover.

image

I see that this errors inside of the popover component itself. Checking the source code, popover is using react-popper. I have checked their Github issues thread and found nothing there.

Here is a simplified version of a common way we implement Popover:

<div className='common-filters__filters show-if-mid'>
  <Popover
     autoFocus={false}
     popoverClassName='common-filters__sub-filters-popover'
     position={Position.BOTTOM_RIGHT}
  >
    <div className='common-filters__collapsed-filters-opener'>
      <i className='icon icon-cross2' />
      <i className='icon icon-three-bars' />
    </div>
    <div className='common-filters__filters common-filters__sub-filters'>
       { ...more components }
     </div>
  </Popover>
</div>
external

Most helpful comment

You're absolutely right. After investigation it seems we had a conflicting instance of React.
I'm not completely sure, but it seems it might be related to this known issue with Yarn:
https://github.com/yarnpkg/yarn/issues/3967

If anyone runs into this problem, I solved it by deleted my node_modules and running npm install. Not yarn install.

All 5 comments

@VincentNewkirk what version of React are you using?

@VincentNewkirk can you also share versions of popper.js and react-popper?

React: 16.3.1
react-popper: 1.3.2
popper.js: 1.14.6

@VincentNewkirk are you sure that's the only version of react? the stack trace screenshot shows react-popper/node_modules/react/... which suggests a nested _conflicting_ instance of react.

You're absolutely right. After investigation it seems we had a conflicting instance of React.
I'm not completely sure, but it seems it might be related to this known issue with Yarn:
https://github.com/yarnpkg/yarn/issues/3967

If anyone runs into this problem, I solved it by deleted my node_modules and running npm install. Not yarn install.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

havesomeleeway picture havesomeleeway  路  3Comments

vinz243 picture vinz243  路  3Comments

mdebeus picture mdebeus  路  3Comments

raiju picture raiju  路  3Comments

westrem picture westrem  路  3Comments