react-admit-one
Version:
An admit-one ticket for your React components
18 lines (17 loc) • 915 B
JavaScript
import getDisplayName from './getDisplayName';
import captureComponentStack from './captureComponentStack';
export default function getErrorMessage(element, firstInstance, usingBoundary) {
var name = "<" + getDisplayName(element.type) + ">";
var firstInstanceTrace = firstInstance.stackTrace;
var secondInstanceTrace = captureComponentStack(element);
var error = '';
error += "Warning: the component " + name + " is expected to be mounted ";
error += "once, but a second attempt to mount this component was made:\n";
error += secondInstanceTrace + "\n\n";
error += 'As a result, the component mounted above will not be rendered. ';
error += "Note that the first instance of " + name + " ";
error += (firstInstance.element ? 'is already' : 'was') + " mounted";
error += usingBoundary ? ' within a boundary:\n' : ':\n';
error += firstInstanceTrace;
return error;
}