typescriptでcallback内でthisが使えない時の対処法

typescriptでcallback内でthis.propsを参照しようとしたら、undefinedになってしまった。

undefinedになったソース

callbacks: {
    label: function(data) {
        console.log(this.props.options); ←ここで、this.propsがundefined
    }
}

解決法は至って簡単。
functionをアロー関数にするだけ。

解決したソース

callbacks: {
    label: (data) => {
        console.log(this.props.options);
    }
}

よく考えたら、typescriptでコールバック書く時に、functionキーワードなんて使わなかったなぁと。
やっぱりコピペは良くないね。

コメント

タイトルとURLをコピーしました