我正在使用打字稿將 d3 線性刻度傳遞給函式。
import {scaleLinear} from 'd3-scale'
const myScale = scaleLinear().domain([0,10]).range([0,1])
const myFunc = (myScale : ScaleLinear<what, where, why>) => {
//draw something
}
我查看了@types d3 scale檔案并找到了這一行
export interface ScaleLinear<Range, Output, Unknown = never> extends ScaleContinuousNumeric<Range, Output, Unknown> {
//...
}
但它真的沒有為我清除任何東西。
我想我需要在 ScaleLinear 方括號 <> 中添加一些資訊,但我不知道是什么。
有小費嗎?
uj5u.com熱心網友回復:
中的第一個泛型ScaleLinear是Range,第二個是Output。
范圍
Range泛型用于范圍資料的型別。如果范圍以數字指定(如range([1, 10])),則范圍為 型別number。
如果在字串中指定比例范圍,例如顏色(如 中range(['red', 'blue'])),則 Range 型別為string。
輸出
泛型適用于秤輸出的Output資料型別。如果刻度內插數字(如 中range([1, 10])),則輸出是 1 到 10 之間的數字,因此輸出也是 型別number。
如果刻度內插顏色(如range(['red', 'blue'])),則輸出為型別為 的顏色字串(如#9a3439)string。
在大多數情況下,您可以使用ScaleLinear<number, number>用于插入數字ScaleLinear<string, string>的比例尺和用于插入顏色字串的比例尺。在它們相等的情況下,您還可以使用簡寫ScaleLinear<number>或ScaleLinear<string>.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411569.html
標籤:
上一篇:未從AppScript填充Google表格自定義函式
下一篇:如何在D3中加載兩個外部檔案?
