TypeScript

Nuxt 2.8 から 2.9 へのマイグレーションメモ

Nuxt TypeScript というページができていました。 Nuxt 2.8 から 2.9 のマイグレーション手順が書いてあるのですがメモを残します。 typescript.nuxtjs.org 元環境 Nuxt 2.8 TypeScript (nuxt.config.ts) を使用している環境 きちんと読めば問題無いのですが…

create-react-appでTypeScript環境を構築したときにsourcemapを出力しない方法

Reactのテンプレートを作る方法にcreate-react-appがあります。 github.com これを使うとcreate-react-appコマンドで簡単にテンプレートを作って、初期設定されているnpm scriptsでサーバー起動やビルドといったことが簡単にできるようになっています。 Reac…

Reactでシングルクリックとダブルクリックを区別して使いたい

先に今回の話のソースコードです。 github.com Reactでは シングルクリックイベントとダブルクリックイベントが用意されています。 シングルクリック <a href="javascript:void(0)" onClick={(e) => this.handleOnSingleClick(e)}> Single Click </a> onClickイベントが用意されています。 ダブルクリック <a href="javascript:void(0)" onDoubleClick={(e) => th</a>…

TypeScript2からのReactとnon-null assertion

TypeScript2からコンパイルオプションの strictNullChecks で、nullability をチェックできるようになった。 最近になってこのオプションを有効にしたら意外と修正するところが多かったのでメモ。 TypeScript1系の時は↓の様に書いてました。 import * as Rea…

TypeScriptでReactを書くときはStateのパラメータに?を付ける

TypeScriptでReactを書いているとき、Stateに複数パラメータを用意した時に ? を付けてオプションパラメータにします。 そうしないと、setState の更新時に全てのパラメータを更新しないといけなくなります。 なので、必ず付けろというよりは、パラメータを…

async function でfetchをラップする関数を作る

javascriptで async function の使い方を勘違いしていたようなのでメモ。 先に正しく動く例 export class ApiWrapper { public async getResult = (searchText: string) => { let myHeaders = new Headers({ 'Token': '' }); const response = fetch(this.ap…

TypeScriptでasync/awaitを使いes5にコンパイルする方法

TypeScriptではasync/awaitを使いつつも、コンパイルした成果物をes5にするための tsconfig.json lib に es2015 を追加する tsconfig.jsonの例 { "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": true, …