When you do `<Foo />` but Foo is not a valid string or function, we show an error message:

https://github.com/facebook/react/blob/92c84a6f37245f4fbe3ce5dc50845856201637fa/src/isomorphic/classic/element/ReactElementValidator.js#L196

We include the owner name ("Please check the render method of Bar.") but not the full parent stack which we show for some of our other warnings like key warnings and prop types. We should call into ReactComponentTreeHook to get the full stack if possible. 

childOwner =
      ` It was passed a child from ${getComponentName(element._owner)}.`;
  }
  warning(
    false,
    'Each child in an array or iterator should have a unique "key" prop.' +
    '%s%s See https://fb.me/react-warning-keys for more information.%s',
    currentComponentErrorInfo,
    childOwner,
    ReactComponentTreeHook.getCurrentStackAddendum(element)
  );
}
/**
 * Ensure that every element either is passed in a static location, in an
 * array with an explicit keys property defined, or in an object literal
 * with valid key property.
 *
 * @internal
 * @param {ReactNode} node Statically passed child of any type.
 * @param {*} parentType node's parent's type.
 */
function validateChildKeys(node, parentType) {
  if (typeof node !== 'object') {
    return;
  }
  if (Array.isArray(node)) {
    for (var i = 0; i < node.length; i++) {
      var child = node[i];
      if (ReactElement.isValidElement(child)) {
        validateExplicitKey(child, parentType);