2017-08-01 12 views
0

皆さんがこのコードをもっときれいに書き直す方法を見つけることができるかどうか尋ねる必要があります。私は作るために見ることができないことも可能複数の条件文を書き直すより洗練された方法

アップデート2

const uploadedFiles = images.map((item, index) => { 
 
     if (images.length < 2) { 
 
     if (item.file.name.match(/.(gif)$/i)) { 
 
      return (
 
      <ImageGif 
 
       key= {index} 
 
       src= {item.blobUrl} 
 
       onClose={this.props.removeImage} 
 
      /> 
 
     ); 
 
     } 
 

 
     return (<ImageContainer 
 
      src={item.blobUrl} 
 
      key={index} 
 
      id={index} 
 
      onClose={this.props.removeImage} 
 
     />); 
 
     } 
 

 
     if (MAX_SIZE === index + 1) { 
 
     return (<ImageContainer 
 
      src={item.blobUrl} 
 
      key={index} 
 
      id={index} 
 
      onClose={this.props.removeImage} 
 
      hiddenImages={hiddenImages} 
 
      />); 
 
     } 
 
     return (<ImageContainer 
 
      src={item.blobUrl} 
 
      key={index} 
 
      id={index} 
 
      onClose={this.props.removeImage} 
 
      />); 
 
    });
(私はこれを思い付くいくつかの時間とスーパーパワーの心の後。私は改善する余地があると確信しています)

本当に参考になります。良い一日を過ごしてください。

+5

あなたが条件内で返却している場合は、他のステートメントを必要としません。 – evolutionxbox

+0

@evolutionxbox ohh私はそれを得る。 'else'の代わりに' if'だけを使うべきでしょうか? – Nicholas

+0

条件付きの考え方を試してみてください。できるだけシンプルにする。 – evolutionxbox

答えて

0

これは私がやる方法です。

const uploadedFiles = images.map((item, index) => { 
    const imageContainer = <ImageContainer 
           src={item.blobUrl} 
           key={index} 
           id={index} 
           onClose={this.props.removeImage} 
          />; 

    if (images.length >= 2) { 
     if (MAX_SIZE === index + 1) { 
      return (
       <ImageContainer 
        src={item.blobUrl} 
        key={index} 
        id={index} 
        onClose={this.props.removeImage} 
        hiddenImages={hiddenImages} 
       /> 
      ); 
     } 

     return { imageContainer }; 
    } 
    else { 
     if (images.length < 2) { 
      if (item.file.name.match(/.(gif)$/i)) { 
       return (
        <ImageGif 
         key= {index} 
         src= {item.blobUrl} 
         onClose={this.props.removeImage} 
        /> 
       ); 
      } 

      return { imageContainer }; 
     } 
    } 

    return null; 
}); 
-1
const uploadedFiles = images.map((item, index) => { 
    const imageContainer = <ImageContainer 
     src={item.blobUrl} 
     key={index} 
     id={index} 
     onClose={this.props.removeImage} 
    />; 

    if (images.length < 2) { 
    if(item.file.name.match(/.(gif)$/i)){ 
    return (
     <ImageGif 
     key= {index} 
     src= {item.blobUrl} 
     onClose={this.props.removeImage} 
     /> 
    );} 
    return { imageContainer }; 
    } 
    else { 
    if (MAX_SIZE === index + 1) { 
     return (<ImageContainer 
      src={item.blobUrl} 
      key={index} 
      id={index} 
      onClose={this.props.removeImage} 
      hiddenImages={hiddenImages} 
     />); 
    } 
    return { imageContainer }; 
    } 

    return null; 
}); 
関連する問題