React 源码浅析之 - onlyChildren
Create at 2017 09 21 • 2 min read • 技术 • ReactSourceCode
这个模块的代码非常简单,短短十几行。
var ReactElement = require("ReactElement")
var invariant = require("fbjs/lib/invariant")
function onlyChild(children) {
invariant(
ReactElement.isValidElement(children),
"React.Children.only expected to receive a single React element child."
)
return children
}
module.exports = onlyChild
就是判断传入的 children 是不是一个合法的 React 元素,否则就抛错出来。判断的逻辑就在 ReactElement 模块里面:
ReactElement.isV