var invariant = require("fbjs/lib/invariant"); functiononlyChild(children) { invariant( ReactElement.isValidElement(children), "React.Children.only expected to receive a single React element child." ); return children; }
module.exports = onlyChild;
就是判断传入的 children 是不是一个合法的 React 元素,否则就抛错出来。判断的逻辑就在 ReactElement 模块里面: