处理umi国际化useIntl不能在类组件中使用

本文解决了在umi项目中,类组件无法使用`useIntl`的错误,通过封装一个函数组件来实现国际化功能,同时提供了易用的包装,使得在类组件和函数组件中都能方便地调用国际化。解决方案包括创建一个名为`helper.tsx`的助手文件,用于在函数组件中处理国际化。
摘要由CSDN通过智能技术生成

[有猿友说ta在类组件中不能使用,我在新的地方复现的时候发现确实;之前的实现无疑中绕过了useIntl,只是表面上实现了可以在类组件中使用;因此产生本次更新,将国际化完全困在一个函数组件中,这样就真的不管外面怎么调用了,因为之前进行了封装 ,因此本次修改 不会影响之前代码的编写--》更新IntlInit在在其中调用一个函数组件完成国际化功能

使用umi中useIntl在类组件中时报错。

 Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:

  1. You might have mismatching versions of React and the renderer (such as React DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app

相关问题描述

  • 在非函数式组件中使用formatMessage 报错
  • 无法在类组件中使用useIntl
  • umi国际化不能在类组件中使用
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值