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

将Context拆分到独立文件后结果重复的原因排查

问题分析与修复

问题根源

拆分Context后出现christychristy重复输出,核心原因是**routes/index.tsx中User组件的导入路径错误**:

import { User } from "../../fresh-project/islands/User.tsx";

该路径不符合项目实际目录结构(routes与islands为同级目录),错误的路径导致Fresh框架解析时重复渲染了User组件,从而两次输出Context的christy值。

修复步骤

将routes/index.tsx中的User导入路径修正为正确的相对路径,与Context2Provider的导入路径保持一致:

import Context2Provider from '../islands/Context.tsx'
import { User } from "../islands/User.tsx"; // 修正此处路径

export default function App() {
  return (
    <Context2Provider>
      <User />
    </Context2Provider>
  )
}

修正后,User组件只会被渲染一次,输出结果将恢复为预期的christy。

补充说明

在Fresh框架中,Islands组件的导入路径必须精准,错误的相对路径会导致组件被重复注册或渲染。同时要确保Context的导出和导入逻辑一致,避免因模块解析问题产生多个Context实例(本次问题虽非Context实例重复,但路径规范同样重要)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:52:48