React路由,如何禁用Future Flag警告?console函数劫持
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在调试ReactRouter
相关代码的时候,被f12
调试工具下的各种React Router Future Flag Warning
信息,搞得心烦意乱。这些React Router Future Flag Warning
,目前并不是苏南大叔所关注的内容。所以,需要禁用掉这些提示信息。那么,如何过滤掉这些干扰信息呢?
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:nodejs@20.18.0
,create-react-app@5.0.1
,react-router-dom@6.27.0
,react@18.3.1
。
Future Flag Warning
写点小代码,收到了一堆warning
。真心是上火。收到的warning
信息有:
React Router Future Flag Warning: React Router will begin wrapping state updates in `React.startTransition` in v7. You can use the `v7_startTransition` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_starttransition.
React Router Future Flag Warning: Relative route resolution within Splat routes is changing in v7. You can use the `v7_relativeSplatPath` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath.
React Router Future Flag Warning: The persistence behavior of fetchers is changing in v7. You can use the `v7_fetcherPersist` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist.
React Router Future Flag Warning: Casing of `formMethod` fields is being normalized to uppercase in v7. You can use the `v7_normalizeFormMethod` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod.
React Router Future Flag Warning: `RouterProvider` hydration behavior is changing in v7. You can use the `v7_partialHydration` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_partialhydration.
React Router Future Flag Warning: The revalidation behavior after 4xx/5xx `action` responses is changing in v7. You can use the `v7_skipActionErrorRevalidation` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation.
有个共同的特点,就是都属于“React Router Future Flag Warning
”。
禁用Future Flag
在官方网站上一顿翻找,没有看到哪里可以关掉这些React Router Future Flag Warning
提示信息。如果您知道,欢迎留言。
这些警告信息,应该是调用console.warn()
函数输出的。所以,苏南大叔这里打算劫持console.warn()
函数,来过滤掉这些恼人的信息。
参考代码:
const console_warn = console.warn;
console.warn = function (...args) {
const message = args.join(" ");
if (typeof message === "string" && message.includes("React Router Future Flag Warning")) {
return;
}
console_warn.apply(console, args);
// console_warn.apply(console, arguments); //这个写法也可以
};
把这些劫持代码放到合适的位置,比如index.js
文件里面,即可生效,瞬间清爽。如果需要劫持其它的警告信息,可以继续修改这个代码的逻辑。还有很大的修改空间。目前这个代码,就仅仅过滤“React Router Future Flag Warning
”,其它的警告信息会继续显示的。
相关文章
其它劫持系统函数的文章,可以参考:
- https://newsn.net/say/browser-location-event.html
- https://newsn.net/say/js-hook.html
- https://newsn.net/say/js-proxy.html
- https://newsn.net/say/js-proxy-2.html
结语
更多苏南大叔的react
经验文章,请点击下面的链接:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。