簡體   English   中英

如何檢查 react-native 中的類型?

[英]How to check type in react-native?

我有一個問題,已經解決了,但是讓我對模塊感到困惑。

我試圖在我的組件中導入一個動畫。

import { Animated, Easing } from 'react-native';

然后,我試圖找到它的類型(流),我找到了答案。react-native 動畫庫的流類型(謝謝)。

import type AnimatedValue from 'react-native/Libraries/Animated/src/nodes/AnimatedValue';

問題是。 當我在import { Animated, Easing } from 'react-native'; (右鍵單擊,然后我 go 用“視覺代碼”鍵入定義),為什么它沒有 go 到它的模塊,而是到這個路徑? (庫/緩存) 在此處輸入圖像描述 我試圖在“react-native”模塊中找到這個文件(index.d.ts),但我找不到它。 為什么?

然后我嘗試閱讀 index.d.ts,找出 Animated.Value 的類型。

export namespace Animated {
    type AnimatedValue = Value;
    type AnimatedValueXY = ValueXY;
export class Value extends AnimatedWithChildren {

Horraay,我得到了 Animated.Value 是一個 class,它的類型是一個 AnimatedValue。 然后像往常一樣找到它的路徑,我右鍵單擊,然后我 go 用“可視代碼”鍵入定義,但我什么也沒找到。

那么,這個import type AnimatedValue from 'react-native/Libraries/Animated/src/nodes/AnimatedValue如何與type AnimatedValue = Value;相關聯? 在 index.d.ts 中?

“反應原生”:“0.63.2”,

index.d.ts文件用於提供 JavaScript 中已寫入的模塊的 typescript 類型信息。 這將允許您使用 javascript 模塊,而無需先將它們完全轉換為ts ,而不會在代碼中出現任何類型錯誤。

為什么它沒有 go 到它的模塊,而是到這條路徑?

這是因為當您使用 npm 為特定庫安裝類型時,它們會作為index.d.ts文件安裝在node_modules/@types/<library-name>/位置下。 因此,使用 VSCode 的導航到類型定義功能會將您帶到這個index.d.ts文件,而不是將您帶到庫中。

我試圖在“react-native”模塊中找到這個文件(index.d.ts),但我找不到它。 為什么?

所有index.d.ts文件都存儲在node_modules/@types/<library-name>而不是node_modules/<library-name> 因此,您無法在相應的模塊中找到這些文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM