swagger-api / swagger-api/swagger-ui

Getting UNSAFE_componentWillReceiveProps error when using Next.js 15 / React 19

Open
#10,212 21 comments 30 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cat: rendering javascript P2 pull-request-welcome released type: enhancement
Dominant language
JavaScript
Stars
29k
Forks
9.3k
Avg merge
2d 23h
Merged PRs (30d)
25

Description

Q&A (please complete the following information)
  • OS: macOS
  • Browser: Chrome 130.0.6723.117
  • Method of installation: pnpm
  • Swagger-UI version: 5.18.2
  • Swagger/OpenAPI version: Swagger 2.0, OpenAPI 3.1.0
Content & configuration

I'm using a vanilla Swagger Page inside a Next.js 15 / React 19 application:

"use client";

import { useEffect, useState } from "react";
import SwaggerUI from "swagger-ui-react";
import "swagger-ui-react/swagger-ui.css";

function SwaggerPage() {
  const [spec, setSpec] = useState<any>(null);

  useEffect(() => {
    fetch("/api/swagger")
      .then((response) => response.json())
      .then((data) => setSpec(data));
  }, []);

  if (!spec) {
    return <div>Loading...</div>;
  }

  return <SwaggerUI spec={spec} />;
}

export default SwaggerPage;
Describe the bug you're encountering

I'm seeing the following error starting in Swagger-UI 5.18.0 and continuing through 5.18.2 on my Swagger page:

Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state

Please update the following components: OperationContainer
To reproduce...

Steps to reproduce the behavior:

  1. Go to the Swagger UI page
  2. Page throws an error
Expected behavior

No error

Screenshots

Screenshot 2024-11-11 at 10 36 22 AM

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the warning with Swagger UI 5.18.x in the provided Next.js 15 and React 19 example, then trace the reported OperationContainer component. Confirm the change removes the UNSAFE_componentWillReceiveProps warning without breaking the Swagger page, and verify the reproduction steps again.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, next.js, react
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.