如何将子节点与JSX结合起来?

时间:2014-01-31 18:57:19

标签: javascript reactjs react-jsx

我想从li元素构建一个ul列表,但li元素将来自不同的来源,所以我不能在一个语句中这样做。看来JSX无法处理一组子元素,这给我一个语法错误:

var items = <li>S</li>
  <li>S</li>
  <li>S</li>;

理想情况下,我想做类似的事情:

var items1 = <li>S</li>
  <li>S</li>
  <li>S</li>;
var items2 = <li>S</li>
  <li>S</li>
  <li>S</li>;
var list = <ul>{items1}{items2}</ul>;

还有另一种方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:10)

JSX非常直接地使用Javascript语法,因此您可以自由地混合它。

/** @jsx React.DOM */
var items1 = [ <li>S</li>,            var items1 = [ React.DOM.li({}, "S"),
               <li>S</li>,                           React.DOM.li({}, "S"),
               <li>S</li> ];                         React.DOM.li({}, "S") ];
var items2 = [ <li>S</li>,            var items2 = [ React.DOM.li({}, "S"),
               <li>S</li>,                           React.DOM.li({}, "S"),
               <li>S</li> ];                         React.DOM.li({}, "S") ];
var list = <ul>{items1+items2}</ul>;  var list = React.DOM.ul({}, items1+items2);