Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回同一容器下的两个li对象_Javascript_Reactjs - Fatal编程技术网

Javascript 返回同一容器下的两个li对象

Javascript 返回同一容器下的两个li对象,javascript,reactjs,Javascript,Reactjs,所以我有,它工作得很好。但是 <ul className="users"> {users.slice(sliceTopNum, users.length).map(user => { i++; if (i && i % 5 === 0) { return ( <li> <div> <p>I am an Ad</p>

所以我有,它工作得很好。但是

<ul className="users">
  {users.slice(sliceTopNum, users.length).map(user => {
    i++;
    if (i && i % 5 === 0) {
      return (
        <li>
          <div>
            <p>I am an Ad</p>
          </div>
        </li>
      );
    } else {
      return (
        <li>
          <div>
            <p>I am {coupon.name}</p>
          </div>
        </li>
      );
    }
  })}
</ul>
    {users.slice(sliceTopNum,users.length).map(user=>{ i++; 如果(i&&i%5==0){ 返回(
  • 我是一个广告

  • ); }否则{ 返回(
  • 我是{coupon.name}

  • ); } })}
但我想让else同时退回2个li项目。我该怎么做?看来JSX不允许你这么做。但我相信可能有办法做到这一点。提前谢谢

<li><div><p>I am {coupon.name}</p></div></li>    
<li><div><p>I am an Ad</p></div></li>
  • 我是{coupon.name}

  • 我是一个广告


  • 如果您使用的是最新版本的React(16),则可以使用片段返回多个元素,而不必像
    div那样使用包装器元素:

    <React.Fragment>
      <li><div><p>I am {coupon.name}</p></div></li>    
      <li><div><p>I am an Ad</p></div></li>
    </React.Fragment>
    
    
    
  • 我是{coupon.name}

  • 我是一个广告


  • 这取决于您的React版本。您可以使用两个li子项将返回包装在div中,也可以使用最新版本的React.Fragment在React 15中,您必须将其放入容器中,例如,您可以在React 16中使用Fragment