【Angular】Async pipes should not be negated.の解消法

当ページのリンクには広告が含まれています。
【Angular】Async pipes should not be negated.の解消法
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

「Async pipes should not be negated.」を解消したい」とお考えではありませんか?

結論から言うと、「Async pipes should not be negated.」はEslintのワーニングで修正は超簡単です。

いずみ

内容がマニアックすぎる…

本記事を読めば、「Async pipes should not be negated.の解消法」について分かるので早速見ていきましょう!

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいませ。

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資歴5年(仮想通貨・FXが得意)
  • Twitterフォロワー約2,000人
  • 運営者情報はこちら
いずみです
目次

「Async pipes should not be negated.」とは

Async pipes should not be negated.」は、asyncパイプで判定する際に「構文変やから修正した方がええで」というエラー(というかワーニング)です。

Eslintを導入していると以下のようなワーニングが出ます。

error  Async pipes should not be negated. Use (observable | async) === (false | null | undefined) to check its value instead  @angular-eslint/template/no-negated-async

「Async pipes should not be negated.」の原因

僕はダッシュボードを作っている際に遭遇しました。

<mat-sidenav-container class="sidenav-container">
  <mat-sidenav #drawer class="sidenav" fixedInViewport="true"
      [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
      [mode]="(isHandset$ | async) ? 'over' : 'side'"
      [opened]="!(isHandset$ | async)">
    <mat-toolbar>Menu</mat-toolbar>
    <mat-nav-list>
      <a mat-list-item [routerLink]="['/']">Top</a>
    </mat-nav-list>
  </mat-sidenav>
  <mat-sidenav-content>
    <mat-toolbar color="primary">
      <button
        type="button"
        aria-label="Toggle sidenav"
        mat-icon-button
        (click)="drawer.toggle()"
        *ngIf="isHandset$ | async">
        <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
      </button>
      <span>schematics-sample</span>
    </mat-toolbar>
    <ng-content></ng-content>
  </mat-sidenav-content>
</mat-sidenav-container>

上記のようなコードがあるとして、

[opened]="!(isHandset$ | async)">

↑でワーニングになります。

「Async pipes should not be negated.」の解消方法

[opened]="(isHandset$ | async) !== true"

上記みたいに書き換えればOK。

いずみ

超簡単だったけど、あんまり情報なかったから時間かかったぜ…

まとめ

今回は、「Async pipes should not be negated.」の解消方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • 「Async pipes should not be negated.」はEslintのワーニング。
  • 修正自体は超簡単。
まとめ♪
  • おすすめ本
¥4,070 (2023/07/23 15:56時点 | Amazon調べ)

Angularの勉強なら「」が分かりやすくておすすめですよ♪

いずみ

最後までお読みいただき、ありがとうございました!

  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

【Angular】Async pipes should not be negated.の解消法

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次