React / Reactstrap 警告:在严格模式树中检测到遗留上下文 API

React / Reactstrap Warning: Legacy context API has been detected within a strict-mode tree

这是全新安装 - 我没有在 Alert 组件上添加任何转换

复制代码很简单

import React from "react";
import { Alert } from "reactstrap";

export const Index = () => {
   return (
      <div>
         <Alert color='primary'>This is a primary alert — check it out!</Alert>
      </div>
   );
};

错误消息:请更新以下组件:Transition

如何更新 Transition 或一起消除它?

如果有人在搜索问题后来到这里寻求见解,就是这样。

React strap(在此 post 时)使用 react-transition-group 事物淡入淡出和菜单上下滑动。在将此处和 Github 上有关此主题的信息合并后,他们目前正在更新图书馆。我已经通过忽略警告完成了该组件的编码。

它并没有阻碍该组件的迭代。快乐编码。

此问题已报告,显然已修复,但即使使用更新的源代码,我也收到了同样的错误。这不仅仅是错误 - 它会导致组件重新渲染

这里有一个 github 来自 reactstrap 回购的线程(但有很多线程):https://github.com/reactstrap/reactstrap/issues/1340

虽然有许多与此警告相关的问题。

据我所知,它与 Transition.js 中的某个项目有关,我认为它可能与组件为 'entering' 时的 this.context 调用有关

但是,我遇到这个问题的项目是我正在构建的第一个 React 应用程序,我还没有完全准备好学习 Legacy Context API,所以这只是我最好的猜测并且在最后我只是选择了一个替代包。

我没有代表可以在评论中提出这个问题,所以我唯一的答案是:

  1. 将问题报告给 reactstrap 团队并wait/assist 进行修复
  2. 使用替代包

我有同样的警告,我修复了它在 index.js 文件中的更改,<React.StrictMode> 的值更改为 <React.Fragment>。 由于这消除了警告,因此不能保证您可以防弹。