我试图根据反应条件为元素渲染一些属性,如下所示:
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
中呈现