You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pixi-React的<Stage>组件时遭遇JSX组件类型错误求助

解决@pixi/react中Stage组件无法作为JSX组件使用的错误

这个错误的核心原因是React版本与@pixi/react依赖版本不兼容,尤其是React 18的客户端组件模式下,旧版本的@pixi/react可能未适配React 18的组件类型定义,导致TypeScript报错。以下是具体解决步骤:


1. 升级兼容的依赖版本

确保@pixi/react和pixi.js使用适配React 18的最新稳定版,同时保证React核心库版本为18.x:

# 升级pixi相关依赖
npm install @pixi/react@latest pixi.js@latest

# 确保React版本兼容(针对Next.js或React项目)
npm install react@^18.2.0 react-dom@^18.2.0

2. 修正Stage组件的使用

给Stage组件添加明确的width和height属性(官方示例中可能省略,但实际渲染需要这两个参数):

"use client";

import { BlurFilter } from "pixi.js";
import { Stage, Container, Sprite, Text } from "@pixi/react";
import { useMemo } from "react";

export default function Home() {
    const blurFilter = useMemo(() => new BlurFilter(4), []);

    return (
        <Stage width={800} height={600}>
            <Sprite
                image="https://pixijs.io/pixi-react/img/bunny.png"
                x={400}
                y={270}
                anchor={{ x: 0.5, y: 0.5 }}
            />

            <Container x={400} y={330}>
                <Text
                    text="Hello World"
                    anchor={{ x: 0.5, y: 0.5 }}
                    filters={[blurFilter]}
                />
            </Container>
        </Stage>
    );
}

3. 清除缓存并重启服务

依赖升级后,清除项目缓存避免旧类型定义干扰:

# Next.js项目
rm -rf node_modules .next
npm install
npm run dev

# 普通React项目
rm -rf node_modules package-lock.json
npm install
npm start

4. 检查TypeScript配置(若使用TS)

确保tsconfig.json中的JSX配置正确:

  • Next.js项目:
    "jsx": "preserve"
    
  • 普通React项目:
    "jsx": "react-jsx"
    

内容的提问来源于stack exchange,提问作者Lvasche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:10:08