7

Czy ktoś proszę wyjaśnić co następuje:nawiasów klamrowych w Arrow Funkcje

Im po wykładach Dan Abramov za & wykonywania ćwiczeń.

Kod działa prawidłowo, jednak testy nie powiodły się, gdy zapisano następującą konkretną funkcję z nawiasami klamrowymi **{ }**.

case 'toggleTodo' : 
     return (
      state.map((one) => { 
       oneTodo(one, action) 
      }) 
     ); 

Ten sam kod działa poprawnie bez klamrowych.

case 'toggleTodo' : 
     return (
      state.map((one) => 
       oneTodo(one, action) 
      ) 
     ); 

Here is the JsBin. Proszę odnieść się do linii 31 i dalej.

+0

Spojrzenie na [dokumentację MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) powinno odpowiedzieć na twoje pytanie. –

Odpowiedz

6
case 'toggleTodo' : 
    return (
     state.map((one) => 
      oneTodo(one, action) 
     ) 
    ); 

jest równa:

case 'toggleTodo' : 
    return (
     state.map((one) => { 
      return oneTodo(one, action) 
     }) 
    ); 

patrz instrukcja return

8

Para szelkami tworzy blok, zawierający listę stwierdzeń. Musisz użyć instrukcji oświadczenie return jawnie, aby funkcja zwracała coś.

Jeśli pominięto nawiasy klamrowe, funkcja strzałki ma zwięzłą bryłę , która składa się wyłącznie z pojedynczego wyrażenia, którego wynik będzie nieodwracalnie stał się wartością zwracaną przez funkcję.

+0

Dzięki za wyjaśnienie @Bergi, teraz rozumiem wraz z kodem madox2 powyżej. – armyofda12mnkeys

Powiązane problemy