remaxjs / remax

使用真正的 React 构建跨平台小程序
https://remaxjs.github.io/remax/
MIT License
4.57k stars 364 forks source link

在typescript中,如何使用getCurrentPages #1933

Open FlynnZhouZz opened 2 years ago

FlynnZhouZz commented 2 years ago

问题描述 在含有eslint下,tsx文件直接调用getCurrentPages(),添加 // eslint-disable-next-line no-undef代码无法忽略报错

示例代码

// eslint-disable-next-line no-undef
const pages: unknown = getCurrentPages(); // 这里会报错:找不到名称“getCurrentPages”。ts(2304)
if ((pages as []).length <= 1) {
    switchTab({ url: '/pages/index/index' });
    return;
}

其他信息

image
watsonhaw5566 commented 2 years ago

微信端的吗?试试使用 getCurremtPages 也许会有提示。 getCurremtPages 这个是微信独有的全局变量。

FlynnZhouZz commented 2 years ago

getCurremtPages

是的,微信端。 直接使用getCurremtPages() 是能够实现对应效果的,现在最重要的为题是在ts中,getCurremtPages()会“爆红”,显示“找不到名称 getCurremtPages”。 我看了remax/wechat的代码,里面也没导出 getCurremtPages 方法,所以我 import { getCurremtPages } from 'remax/wechat'无效。 不知官方是否能够支持 getCurremtPages方法的导出功能呢?

watsonhaw5566 commented 2 years ago

我尝试一下能否加这个进去。我看到隔壁的taro导出了一个api 如果可以从ts的角度处理这个问题就好了。

watsonhaw5566 commented 2 years ago

declare var getCurrenyPages: any; @IFromHell

FlynnZhouZz commented 2 years ago

declare var getCurrenyPages: any; @IFromHell

image

根据你提供给我的思路,在我自己项目中实现了getCurrentPages使用eslint”报红“问题,谢谢!

期待官方能够直接导出此类api,那样我们使用者就彻底躺平了,哈哈~