Remax中使用Page组件时小程序正常但Web端显示空白页面怎么办?
我在用Remax开发多端应用时遇到奇怪问题,同样的Page组件在小程序端能正常渲染内容,但Web端只显示空白页面。检查过网络请求都没问题,控制台也没有报错。
尝试把页面代码简化到只剩最基础的结构还是不行,这是我的组件代码:
import { Page, View } from 'remax/ali';
export default () => (
<Page>
<View>测试页面</View>
</Page>
);
但换成React原生的div包裹就能正常显示,这说明是Page组件的问题。有没有可能是环境配置或适配器设置不对?
remax/ali导出的 Page 在 Web 端会渲染为空。按照规范,多端项目里不应该直接使用
remax/ali或其他平台专用入口,而应该使用remax/runtime提供的适配方案,或者通过环境判断来动态渲染。最简单的解决方式是换成通用容器,比如 View 或者自定义一个跨端的页面壳:
不过更推荐的做法是:根本不在组件里用 Page,页面级的路由和容器由框架或构建工具处理,你写的组件只负责内容展示。Remax 官方也建议 Page 这种根级组件交给编译时处理,不要手动在 JSX 中写。
检查你的项目结构,确保页面入口没错误套了一层 Page,Web 端通常是通过路由映射到组件,不需要手动包 Page。