【问题标题】:Mounting a React component that was required with browserify安装 browserify 所需的 React 组件
【发布时间】:2015-03-01 07:25:38
【问题描述】:

我有一个组件写在第二个文件中,该文件有两个导出,一个“图像”导出和一个“模态”导出。在我的主机文件中,我包含两者并在 ajax/jquery load 请求的回调期间挂载它们。我的站点结构是这样的,每个负载都由一个实际的静态 url 端点表示(例如,url.com/sub/item 是完全可导航的,但是为了在我的用例中获得一些动态乐趣,我将它们加载到 url.com 上的包装器中,提供ajax 有效——它更多的是对“我能做到”的测试——而不是“我需要做的”。

这些组件在静态页面上独立运行时效果很好。在加载的页面上 - 图片有效,但另一个(模态)使整个派对崩溃。

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

警告:React.createElement:类型不应为 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

【问题讨论】:

    标签: jquery reactjs browserify react-jsx


    【解决方案1】:

    发生的事情是,在某个时候,您的&lt;Component/&gt; 之一正在使用,其中组件为undefined。我会确保 Modal 确实以您期望的值存在于文件中。

    【讨论】:

    • 我认为你可以返回任意数量的嵌套元素,只要它被包裹在一个元素中?整个东西都包裹在一个父部分中?
    • 我的错!我误判了开/关括号。你是对的:P
    • 废话。我都兴奋起来。 :)
    【解决方案2】:

    想通了——Modal 被封装在一个 if 检查中,因为我在包含的文件中执行条件渲染逻辑。基本上 - 我需要一段不存在的代码,因为在查看动态页面时 if 检查是错误的。条件中没有包装类定义。

    【讨论】:

      猜你喜欢
      • 2017-11-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多