javascript - react Profilering ikke støttet


Chrome React Dev Tools Profil-fane sa til meg "react-profilering støttes ikke".\nMen, jeg er satt opp i min webpack.config.prod.js.\n

Jeg fulgte all beskrivelsen i 'https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977'. Hva om jeg glemmer noe fra nettstedets beskrivelse?

Mitt Chrome Dev-verktøy sa bilde\n

-> min webpack-konfigurasjon.

var buildConfig = merge(baseConfig, {
  optimization: {
    minimize: true
  },
  resolve: {
    extensions: [".js", ".css"],
    alias: {
      styles: path.join(__dirname, ""),
      "react-dom$": "react-dom/profiling",
      "scheduler/tracing": "scheduler/tracing-profiling"
    }
  },

Dette er min app.

import * as React from "react";
import { Profiler } from "react";

const logProfile = (
  id: string,
  phase: "mount" | "update",
  actualDuration: number,
  baseDuration: number,
  startTime: number,
  commitTime: number,
  interactions: Set<any>
) => {
  console.log("Profiling ID", id);
  console.log("Profiling phase", phase);
  console.log("Profiling actualDuration", actualDuration);
  console.log("Profiling baseDuration", baseDuration);
  console.log("Profiling startTime", startTime);
  console.log("Profiling commitTime", commitTime);
  console.log("Profiling interactions", interactions);
};
class TeacherConfig extends React.Component {
  render() {
    return (
      <>
        <Profiler id="application" onRender={logProfile}>
          <div id="preload_hidden">
            <span>abcd</span>
            <span style={{ fontWeight: "bold" }}>abcd</span>
            <span className="set" /> <span className="unlimit" />{" "}
            <span className="start" />
            <span className="time1" />
            <span className="time2" /> <span className="time3" />
          </div>
          <Navigations />
        </Profiler>
      </>
    );
  }
}

Dette er en del av min package.json.

 "dependencies": {
    "react": "^16.9.0",
    "react-dom": "^16.5.0",
    "react-draggable": "^3.0.5",
    "react-hot-loader": "^4.3.11",
    "react-id-swiper": "^1.6.8",
    "react-resize-detector": "^3.4.0",
    "sass-loader": "^7.1.0",
    "scheduler": "^0.10.0"
}

Svar #1

Sjekk om React lastes fra CDN-et, vær så snill. Noen instruksjoner har React-innholdet i HTML som en <script>

https://www.typescriptlang.org/docs/handbook/react-&-webpack.html#write-some-code

Fjern dem, og fjern externals-seksjonen fra webpack, eller endre dem til å bruke profilerings- eller utviklingsversjoner av CDN-en.

Avveiningen er at siden React er så populært, laster sannsynligvis et annet nettsted hovedfilene fra en CDN, så de er allerede i cache. Men hvis du trenger det for utviklings-tilpasning, ser ikke bundleren din React eller React-Dom.