-1

React.lazy首先,我使用和 useMemo加载一个 Redux 连接的组件

const Component = useMemo(() => lazy(() => import('./Component')), []);

然后,我根据我的路线渲染它,BrowserRouter如下所示:

<BrowserRouter>
  <Switch>
    <Suspense fallback={<>Loading...</>}>
      <Route exact path='/' render={() => <SubscriptionList/> } />
    </Suspense>
  </Switch>
</BrowserRouter>

我有多个要延迟加载的路由器。我无法提取“useMemo()”函数,因为我收到警告:

Critical dependency: the request of a dependency is an expression

我做错了什么,这里有什么问题?

4

1 回答 1

-1

Lazy 足以延迟加载不需要 useMemo 的组件。

你可以像这样记忆你的组件。

导出 const MemoizedMovie = React.memo(Movie);

而且,如果您在文件顶部编写 useMemo ,则所有钩子都应仅在 react 组件内调用是错误的。

于 2021-10-05T08:45:07.150 回答