【发布时间】:2020-06-06 09:57:33
【问题描述】:
我在使用 Swipeout 时收到此警告:
" 警告:componentWillReceiveProps 已重命名,不推荐使用。见
将数据获取代码或副作用移至 componentDidUpdate。 如果您在 props 更改时更新状态,请重构您的代码以使用记忆技术或将其移动到静态 getDerivedStateFromProps。了解更多信息:*** 到 UNSAFE_componentWillReceiveProps 以在非严格模式下抑制此警告。在 React 17.x 中,只有 UNSAFE_ 名称可以使用。要将所有已弃用的生命周期重命名为新名称,您可以在项目源文件夹中运行 npx react-codemod rename-unsafe-lifecycles。 请更新以下组件: Swipeout "
componentWillMount 也是如此。
值得注意的是,使用 npx react-codemod rename-unsafe-lifecycles 无法缓解此错误。
我进入 Swipeout 的代码并手动添加了 UNSAFE_ 但每次我编译代码时,它都会恢复。
我在 GitHub 上打开了该页面的问题,但几天后没有回复。
建议?
谢谢,
【问题讨论】:
-
在等待更新时,您可以设置一个安装后脚本来复制修改后的文件并替换其在 Swipeout 的
node_modules下的对应文件。 -
@singamnv 可以在nodemodules下的swipout组件中将componentWillrecieveprops替换为getDerivedstatefromProps
标签: react-native components expo