安装browserify所需的React组件

时间:2015-03-01 07:25:38

标签: jquery reactjs browserify react-jsx

我有一个用第二个文件写的组件,它有两个导出,一个是“images”导出和一个“模态”导出。在我的主机文件中,我包含两者并在回调ajax / jquery load请求期间安装它们。我的网站结构是这样的,每个负载都由一个实际的静态url端点表示(例如,url.com/sub/item是完全可导航的,但在我的用例中我将它们加载到url.com提供的包装器中。 ajax的作品 - 它更像是“我能做到”的测试 - 更少“我需要吗。”

组件在静态页面上自行运行。在加载的页面上 - 图像有效,但另一个(模态)使整个聚会崩溃。

这是我得到的控制台错误“

  

警告:React.createElement:type不应为null或未定义。它应该是一个字符串(对于DOM元素)或一个ReactClass(对于复合组件)   警告:只能将函数或字符串作为React组件安装。

以下是我如何解决这个麻烦的孩子:

if ($('.modal-images').length){
 $('body').append('<section id="modal-loader"></section>');
  // This breaks stuff like a drunk bull in the chicken coup.
   React.render(<Modal />, document.getElementById('modal-loader'));
}

这是整个政党的背景:
https://gist.github.com/motleydev/d763ebf6a9116ed05ea6

2 个答案:

答案 0 :(得分:0)

发生的事情是,在某个时刻,您的<Component/>之一被用于组件为undefined的地方。我会确保Modal实际上存在于文件中作为您期望的值。

答案 1 :(得分:0)

想出来 - 由于我在我的包含文件中做了条件呈现逻辑,因此Modal被封装在if检查中。基本上 - 我需要一段不存在的代码,因为在查看动态页面时if检查是错误的。条件中没有包装类定义。