2017-01-24 14 views

Odpowiedz

19

W JSX, możemy zwrócić tylko jeden html elementu z return, nie może wrócić wiele elementów, jeśli chcesz wrócić wiele elementów następnie owinąć cały kod HTML w div lub przez jakikolwiek inny składnik owijarki.

To samo dzieje się w pierwszym przypadku, wracasz 2 elementy, jeden div i jeden table. kiedy owijacie je w jeden div wszystko działa poprawnie.

Ta sama zasada, którą należy przestrzegać dla komponentów conditional rendering.

Przykład:

Poprawnie:

{ 1==1 /* some condition */ ? 
    <div> 
     True 
    </div> 
: 
    <div> 
     False 
    </div> 
} 

Źle:

{ 1==1 /* some condition */ ? 
    <div> 
     True 1 
    </div> 
    <div> 
     True 2 
    </div> 
: 
    <div> 
     False 1 
    </div> 
    <div> 
     False 2 
    </div> 
} 
+1

Nie wiedziałem, że to ma sens teraz w porządku. – TyForHelpDude

0

Tylko szybka zmiana. Jeśli używasz React v16.2.0 i wyżej, możesz również użyć Fragments.

return (
    <> 
     <div> 
      True 1 
     </div> 
     <div> 
      True 2 
     </div> 
    </> 
);