简体   繁体   English

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

[英]How can I combine child nodes with JSX?

I want to build up a ul list from li elements, but the li elements will come from different sources, so I can't do it in one statement. 我想从li元素构建一个ul列表,但li元素将来自不同的来源,所以我不能在一个语句中这样做。 It appears that JSX can't handle a set of child elements, this gives me a syntax error: 看来JSX无法处理一组子元素,这给我一个语法错误:

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

Ideally I want to do something like: 理想情况下,我想做的事情如下:

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>;

Is there another way to achieve this? 还有另一种方法来实现这一目标吗?

JSX desugars very straightforwardly to Javascript syntax so you can mix it freely. 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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM