callHook = (hook, args = []) => {
      if (isArray(hook)) {
          hook.forEach(h => h(...args));
      }
      else if (hook) {
          hook(...args);
      }
  }
#3227 Incoming hooks may be merged into arrays when wrapping Transition
with custom HOCs.