React对象无效作为React子对象,使用React附加组件中的createFragment(object)包装对象

时间:2016-06-17 13:15:40

标签: reactjs coffeescript react-rails

我试图根据反应条件为元素渲染一些属性,如下所示:

dom.span
  className: "btn pull-right btn-primary#{if @state.enableCartButton then '' else ' disabled'}"
  if @state.enableCartButton
    onClick: @submitCustomizeForm
  else
    'data-toggle': "tooltip"
    'data-placement': "left"
    title: "Select a measurement profile to continue"
  translate('store.products.customize.save', 'ADD TO CART')

但是根据条件得到以下错误,

  

未捕获的不变违规:对象无效作为React子级   (找到:具有键{onClick}的对象)。如果你打算渲染一个   子集合,使用数组或使用包装对象   来自React附加组件的createFragment(对象)。检查渲染方法   Constructor

OR

  

未捕获的不变违规:对象无效作为React子级   (找到:带键的对象{data-toggle,data-placement,title})。如果你   意味着渲染子集合,使用数组或换行   使用React附加组件中的createFragment(object)创建对象。校验   Constructor的渲染方法。

以下代码可以正常工作,

if @state.enableCartButton
  dom.span
    className: "btn pull-right btn-primary"
    onClick: @submitCustomizeForm
    translate('store.products.customize.save', 'ADD TO CART')
else
  dom.span
    className: "btn pull-right btn-primary disabled"
    'data-toggle': "tooltip"
    'data-placement': "top"
    title: "Select a measurement profile to continue."
    translate('store.products.customize.save', 'ADD TO CART')  

此外,我不知道为什么我无法在if / for中进行多个元素的反应。只允许一个元素,如果我渲染多个元素,只有最后一个元素在HTML

中呈现

0 个答案:

没有答案