我得到以下警告:
Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child.
如果您尝试在某些JSX中插入JavaScript对象(而不是JSX元素或字符串),则会发生此错误。
例如,下面是一个小例子,产生警告:
import React from 'react'; window.React = React; import ReactDOM from 'react-dom'; var content = {foo: 'bar'}; ReactDOM.render(<div>{content}</div>,document.getElementById('some-element'));
虽然错误消息建议使用createFragment
来解决这个问题,但更有可能的情况是,您正在将变量内插到一些JSX,你认为是一个字符串或JSX元素,但实际上是一些其他类型的对象。
因为消息不能告诉你JSX中的哪个表达式导致了错误,所以你必须通过其他方法跟踪它 – 例如,通过查看产生错误的提交的源代码控制中的diff,或者通过一次消除一半的JSX元素,直到你找到一个,使错误消失。