2017-04-10 15 views
0

JSXで単純なブール値を追加するシナリオがあります。それは、何かがアクティブであるかどうかを言うフラグです。JSXでブール値を追加する

<NavItem href="#/gosomewhere" active > 

JSXで 'アクティブ'フラグを渡す方法がわかりません。

私はこれが正常に動作するだろうと思った:

const active= location.pathname.match(/^\/gosomewhere/) ? "active" : ""; 

return(

       <NavItem eventKey={1} href="#/gosomewhere" {active} > 
        Go Somewhere 
       </NavItem> 
) 

しかし、私はこのエラーを取得する:

Module build failed: SyntaxError: Unexpected token, expected ... 

は、私は何とかこのシナリオではスプレッド演算子を使用する必要がありますか?

答えて

3

あなたは、単にactive={true|false}を使用し、他の小道具と同じように、ブール値を渡すことができます:「?ちょうど 『アクティブ』にアクティブになっている=真同等」へ

const active = location.pathname.match(/^\/gosomewhere/); 
return(
    <NavItem eventKey={1} href="#/gosomewhere" active={active} > 
    Go Somewhere 
    </NavItem> 
) 
+1

はアクティブです= trueは「アクティブ」と同じですか? –

+1

@OliverWatkinsはい、jsxのショートカットです – madox2

1

回答

はい、active={true}activeに相当します。 activeとマークすると、W3C recommandation

などと評されています。コメントするには十分な評判がないので、回答として投稿しています。

+1

htmlタグでは推奨されますが、一般的にはjsxではお勧めできません。私はそれがあなたが何をする必要があるかに依存している – madox2

関連する問題