2015-05-13 20 views
5

Próbuję warunkowo ustawić właściwość w kolekcji elementów.Błąd składni JSX na PHPStorm

render: { 
    var buttons = []; 
    for (var i = 1; i <= this.props.totalWeeks; i++) { 
     buttons.push(
     <button 
      onClick={ this.changeWeek.bind(this, i) } 
      disabled={ i === this.state.currWeek }>{ i } 
     </button>); 
    } 
} 

Wszystko działa doskonale w przeglądarce. Ale PHPStorm (wersja 8.0.3) oznacza wyrażenie { i === this.state.currWeek } jako błąd dla nieprawidłowej wartości atrybutu .

Próbowałem zmienić to za pomocą wywołania funkcji, zmiennej itp., Ale nie wydaje się, aby błąd zniknął. Próbowałem również wyłączyć tę regułę inspekcji na PHPStorm, ale nie mogę znaleźć ustawienia, które by to wyłączało.

PYTANIE

Jak mogę sprawić, że błąd odejść w PHPStorm? Jeśli to błąd, to jak mogę się tego pozbyć, warunkowo dodając atrybuty HTML do grupy elementów w jakiś inny sposób?

+0

Brzmi jak błąd w PHPStorm. –

+0

Rzeczywiście, mój przyjacielu ... –

+0

Czy próbowałeś go w wersji EAP v9? – LazyOne

Odpowiedz

0

1) Jeśli to render reagować (nie twoja funkcja niestandardowa), powinno być „render() {return;}” przed kodem

To 100% błąd składni, przeglądarka ignoruje ją, ponieważ powinna ona , jeśli używasz go w ciele definicji klasy, składnia jest następny:

class Test { 
    objectExample: { some: "value" } 
    functionExample() { return someExecutionCode(); } 
    lambdaFunctionExample =() => { return someExecutionCode(); } 
} 

Ale mieszać się 1 i 2 linii w tym samym czasie, zaczynają jako definicji obiektu, z ciałem jako funkcji, które nie są pasuje do siebie .

2) Twoja funkcja renderowania NIE zwraca niczego, tworzy tablicę, ale jej nie zwraca.