【问题标题】:React 18 - Infinite rendering when passing a state variable for lazy loadingReact 18 - 传递状态变量以进行延迟加载时的无限渲染
【发布时间】:2022-06-13 12:19:42
【问题描述】:

通过延迟加载反应 17,我根据所选语言动态加载三个组件之一(来自 zustand 存储的状态变量)。 导入取决于该变量:

const MyComponent = lazy(() => import(`component-${language}.jsx`))

迁移到 react 18 后,组件处于无限渲染状态。

我想这与新的自动批处理功能有关。

有人可以帮忙吗? 最好的问候

  • 在组件外部创建一个函数以从组件接收变量作为道具或从商店直接导入,但错误仍然存​​在。

  • 我尝试使用商店中的 getter 而不是状态变量,但没有成功。

  • 尝试使用 useState 和 useEffect 替换导入时的状态变量,但也没有成功。

【问题讨论】:

  • 我也有同样的问题。就我而言,我正在尝试导入表单,但应用程序一直“暂停”:ts const ImportForm = lazy(() => import(`brokers/${broker?.importPath}/Form`)); 您找到解决方案了吗?

标签: reactjs lazy-loading zustand


【解决方案1】:

你可以试试这个

【讨论】:

    猜你喜欢
    • 2023-01-14
    • 1970-01-01
    • 2019-01-10
    • 2018-04-26
    • 1970-01-01
    • 2020-07-12
    • 2021-01-16
    • 2015-08-28
    • 1970-01-01
    相关资源
    最近更新 更多