i18n-chain icon indicating copy to clipboard operation
i18n-chain copied to clipboard

Taro Next 版本的 useState 等方法需要从 react 包中导出

Open xyxc0673 opened this issue 4 years ago • 9 comments

最近将项目中的 Taro 升级到了 Taro Next,然后编译时 useI18n 报错,发现是 useState 等方法是从 taro 中导出而导致的问题,像这种情况,有办法判断 taro 的版本然后从不同的 package 中导出吗?还是要开个新的分支?

xyxc0673 avatar Sep 01 '20 11:09 xyxc0673

发个新版吧,兼容taro3

fwh1990 avatar Sep 01 '20 11:09 fwh1990

问卷调查一下,您在用这个库的适合,是否会经常忘记写 useI18n(...)

fwh1990 avatar Sep 01 '20 11:09 fwh1990

问卷调查一下,您在用这个库的适合,是否会经常忘记写 useI18n(...)

确实,不过我发现有时我不写也可以动态切换,有时就不可以,不太理解原理。

xyxc0673 avatar Sep 01 '20 11:09 xyxc0673

能动态切换是因为你有其他的state导致了重渲染。加useI18n()的唯一作用就是为了及时重渲染。

我等下先发个兼容taro3的。

然后在下一个主版本中,升级对useI18n()的新用法。大概思路是,const t = useI18n(i18n),use完才能使用,就是说const i18n = createI18n()不能直接走链式,只能使用一些公共接口

fwh1990 avatar Sep 01 '20 12:09 fwh1990

想起来了,因为taro3使用了原生的react,所以您可以直接安装 @i18n-chain/react。 以及如果您有使用 hack()方法,taro3也不再需要这个方法了

fwh1990 avatar Sep 01 '20 13:09 fwh1990

@i18n-chain/taro 后面就直接废弃了

fwh1990 avatar Sep 01 '20 13:09 fwh1990

想起来了,因为taro3使用了原生的react,所以您可以直接安装 @i18n-chain/react。 以及如果您有使用 hack()方法,taro3也不再需要这个方法了

对哦!谢谢~

xyxc0673 avatar Sep 02 '20 01:09 xyxc0673

2.0尝鲜。https://github.com/fwh1990/i18n-chain/releases 新加的字符串模板生成工具我感觉很棒

fwh1990 avatar Nov 03 '20 11:11 fwh1990

2.0尝鲜。https://github.com/fwh1990/i18n-chain/releases 新加的字符串模板生成工具我感觉很棒

Nice! 有空我尝试一下。

xyxc0673 avatar Nov 04 '20 01:11 xyxc0673