【发布时间】:2015-03-26 00:50:02
【问题描述】:
我想获得在 JSFiddle 工作的漂亮 react-magic-move 组件的“基本”(美国)示例,用于修补。 (另请参阅 https://www.youtube.com/watch?v=z5e7kWSHWTg#t=424 上令人印象深刻的视频演示)
我已将 react-magic-move 'dist' 脚本添加到 Base React (JSX) fiddle,以及其他(最低限度适应的)示例 JS/CSS/HTML。你可以在这里看到尝试:
http://jsfiddle.net/69z2wepo/4692/
但是,它在初始渲染后期触发了错误:
Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. This usually means that you're trying to add a ref to a component that doesn't have an owner (that is, was not created inside of another component's 'render' method). Try rendering this component inside of a new top-level component which will hold the ref.
很明显,它正在加载 MagicMove 代码并成功完成大部分渲染:错误后,真实 DOM 已组装。在 React 之后包含 dist 脚本应该可以工作。
认为这可能是 JSFiddle 窗格特有的问题,我在本地文件中尝试了相同的设置:相同的错误。认为这可能是浏览器中的 JSX 交互,我尝试了预编译的 JSX:同样的错误。 (见http://jsfiddle.net/5vjqabv3/325/)。首先得到了 React 0.13.1 的错误;尝试回滚到 0.12.0 的基础小提琴:同样的错误。 (见http://jsfiddle.net/kb3gN/10548/)
在异常发生的那一刻,当前元素(ReactElement, div, ref 'AL')有一个空的 _owner 属性——这似乎是关闭的。
任何想法是什么阻止了必要的 React-owner-relationship 设置? react-magic-move dist 脚本是否以这种所需的“load-after-React”方式损坏或无法使用?
【问题讨论】: