React中请求发送两次

283 阅读1分钟

React项目中发送两次请求

做项目的时候发现,在开发下每个请求都发送了两次,而在线上环境上不会出现这种情况。结果排查发现是在项目中顶层组件中使用了React.StrictMode包裹组件。

官网资料:react.docschina.org/reference/r…

React.StrictMode作用:

React.StrictMode表现:

严格模式 在开发环境中会调用一些函数两次(仅限应为纯函数的函数)。这些函数包括:

React 假设编写的每个组件都是纯函数。这意味着编写的 React 组件在给定相同的输入(props、state 和 context)时必须始终返回相同的 JSX。所以猜测React.StrictMode调用两次进行比对JSX进行发现问题。