React: babel-node: ReactComponentTreeDevtool.js 导致 ReactDOMServer.renderToString 失败

创建于 2016-07-25  ·  4评论  ·  资料来源: facebook/react

在遵循服务器端反应教程时,我遇到了由 ReactComponentTreeDevtool 引起的运行时错误。 具体来说,purgeDeep 函数在某些条件下似乎有问题(react/lib/ReactComponentTreeDevtool.js 第 47 行):

用户代码:

screen shot 2016-07-24 at 3 49 40 pm

screen shot 2016-07-24 at 3 47 01 pm

堆栈跟踪:

screen shot 2016-07-24 at 3 41 00 pm

违规代码:

screen shot 2016-07-25 at 8 21 17 am

解决方案:在遍历之前添加对未定义 childID 的检查(react/lib/ReactComponentTreeDevtool.js 第 47 行)解决了该问题(见下文)。

screen shot 2016-07-25 at 8 19 57 am

screen shot 2016-07-24 at 4 02 23 pm

额外的:
操作系统:OS X Yosemite (10.10.5)
节点:4.4.7
运行: babel-node (通过 babel-cli 6.11.4 )

如果我应该提供任何其他信息(例如开发依赖项),请告诉我。 谢谢!

DOM Bug

最有用的评论

(另外,非常感谢您提供一种重现的方法。)

所有4条评论

你能提供一个最小的项目来重现这个吗? 谢谢。

React_Issue_7350.zip

我拉出 ./node_modules 大小。 只需运行 npm install,然后 npm start 并导航到localhost:3000即可重现(希望如此)。

这已在 React 15.3.1 中修复。

(另外,非常感谢您提供一种重现的方法。)

此页面是否有帮助?
0 / 5 - 0 等级