代码之家  ›  专栏  ›  技术社区  ›  Ben

逗号到新行

  •  -1
  • Ben  · 技术社区  · 5 年前

    在反应中,我怎样才能转身 , 把角色换成新行?

    假设我们有这样一个数组:

    const items = [
        {
            label: "Animals",
            value: "Puppies, Kittens, Bunnies"
        },
        // ...
    ];
    
    

    我们这样展示:

    <div>
        {items.map(item => (
            <div style="left">
                {item.label}
            </div>
            <div style="right">
                {item.value}
            </div>
        ))};
    </div>
    

    我怎样才能把所有的 , 剧中的人物 value 将数组项的键放入新行?


    电流输出:

    Animals    Puppies, Kittens, Bunnies
    

    期望输出:

    Animals    Puppies
               Kittens
               Bunnies  
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   AKX Bryan Oakley    5 年前
    {item.value.split(", ").map((line, i) => <div key={i}>{line}</div>)}
    

    如果把每一项都放在 div 对你来说没关系。

    另一个更复杂的选择是添加 <br> 在每一行之间,用一个 React.Fragment :

    function addBrs(items) {
      const children = [];
      items.forEach((item) => {
        children.push(item);
        children.push(<br />);
      });
      children.pop(); // Remove last extraneous BR
      return React.createElement(React.Fragment, {}, ...children);
    }
    
    // ...
    
    {addBrs(item.value.split(", "))}}