CJY0208 / react-activation

Hack <KeepAlive /> for React
https://www.npmjs.com/package/react-activation
MIT License
1.78k stars 140 forks source link

umi使用KeepAlive包裹后 使用useIntl()报错 #311

Closed Versatileyouth closed 4 months ago

Versatileyouth commented 4 months ago

WechatIMG117

image
Versatileyouth commented 4 months ago

umi版本:"umi": "^4.0.88",

CJY0208 commented 4 months ago

这样试试,在 umi 应用的入口处,我记得好像是 app.js 还是 entry.js 之类的

// umi 应用入口处
import { autoFixContext } from 'react-activation'

autoFixContext(
   [require('react/jsx-runtime'), 'jsx', 'jsxs', 'jsxDEV'],
   [require('react/jsx-dev-runtime'), 'jsx', 'jsxs', 'jsxDEV']
 )
Versatileyouth commented 4 months ago

已解决!

CJY0208 commented 4 months ago

是上述方案生效了嘛

Versatileyouth commented 4 months ago

生效了 是react版本导致的吗,还是umi4 在umi3中使用没出现这种问题

CJY0208 commented 4 months ago

是的,和 react 版本有关系,是上下文断层的问题,16+ 中可以自动修复,17、18 需要手动修复