2017-10-30 37 views
1

三項演算エラーを反応させるのが、私はエラーになっておく:構文エラー:予期しないトークンを、は、私が唯一の唯一の三項演算子を使って自分のホームページにユーザーによって作成されたfirebaseデータを返すにしようとしている

を期待しましたコードがどこに間違っているのか誰にでも見えますか? 削除ボタンの周りに三角形をラップすると、ユーザーは作成したアイテムのみを削除できるようになります。私はそれらによって作成されたものだけを表示したい。 ザ・コードを反応させるには、以下の通りです:私たちはJSX内部のいくつかのJS表現を配置する際に必要な

<ul> 
    {this.state.items.map((item) => { 
    return (
     {item.user === this.state.user.displayName || item.user === this.state.user.email 
     ? <li key={item.id}> 
      <h3>{item.topic}</h3> 
      <p>author: {item.user} 
      <button onClick={() => this.removeItem(item.id)}>Remove Item</button> 
      </p> 
     </li> 
     : null} 
    ) 
    })} 
    </ul> 
+1

'リターン{<いくつかの表現>}'有効なJavaScriptではありません。

はこのようにそれを書きます。 –

答えて

2

Embedding Expressions in JSX:

You can embed any JavaScript expression in JSX by wrapping it in curly braces.


{}は、あなたのケースでは、それが必要とされていません。 {}を使用すると、オブジェクトを返そうとしていることを意味します。

return (
    item.user === this.state.user.displayName || item.user === this.state.user.email? 
     <li key={item.id}> 
      <h3>{item.topic}</h3> 
      <p> 
       author: {item.user} 
       <button onClick={() => this.removeItem(item.id)}>Remove Item</button> 
      </p> 
     </li> 
    : null 
) 
関連する問題