スキル一覧に戻る
15195999826

handling-tarrays

by 15195999826

0🍴 0📅 2026年1月13日
GitHubで見るManusで実行

SKILL.md


name: handling-tarrays description: ReactUMG TArray/数组属性处理指南。在传递数组给 UE 组件、使用 GridPanel 的 ColumnFill/RowFill、或遇到"不能用 JS 数组"问题时激活。必须用 UE.NewArray() 创建原生数组,包含 BuiltinFloat/String/Int 等类型常量。

ReactUMG TArray 属性处理

核心规则

TArray 属性必须使用 UE.NewArray(),不能直接使用 JS 数组!

// ❌ 错误:直接使用 JS 数组
<GridPanel ColumnFill={[1, 1, 1]} />  // Type Error!

// ✅ 正确:使用 UE.NewArray()
const columnFill = UE.NewArray(UE.BuiltinFloat);
columnFill.Add(1, 1, 1);
<GridPanel ColumnFill={columnFill} />

Builtin 类型常量表

常量TypeScript 类型用途
UE.BuiltinFloatnumber最常用 - GridPanel 的 Fill 值
UE.BuiltinIntnumber整数值
UE.BuiltinStringstring字符串
UE.BuiltinBoolboolean布尔值
UE.BuiltinBytenumber0-255 整数

实际示例:GridPanel

import * as UE from 'ue';

class MyPanel extends React.Component {
    // 静态创建(推荐)
    private static readonly COLUMN_FILL = (() => {
        const arr = UE.NewArray(UE.BuiltinFloat);
        arr.Add(1, 1, 1);  // 3 列等宽
        return arr;
    })();

    render() {
        return (
            <GridPanel ColumnFill={MyPanel.COLUMN_FILL}>
                {/* items */}
            </GridPanel>
        );
    }
}

TArray 常用方法

const arr = UE.NewArray(UE.BuiltinFloat);

arr.Add(1, 2, 3);        // 添加多个值
arr.Get(0);              // 获取值(不要用 arr[0]!)
arr.Set(0, 10);          // 设置值
arr.Num();               // 获取长度
arr.RemoveAt(0);         // 删除
arr.Empty();             // 清空

为什么不能用 JS 数组?

PuerTS 的 TArray 类型定义使用 [index: number]: never 来阻止直接下标访问,强制使用 .Get()/.Set() 方法,确保类型安全。

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です