Home / File/ Updaters.js — react Source File

Updaters.js — react Source File

Architecture documentation for Updaters.js, a javascript file in the react codebase. 6 imports, 1 dependents.

File javascript BabelCompiler Validation 6 imports 1 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  d6e62301_2363_364e_b031_c314353bac29["Updaters.js"]
  98e7cbed_f4b4_9f35_838e_6e7cf3e5edcf["types.js"]
  d6e62301_2363_364e_b031_c314353bac29 --> 98e7cbed_f4b4_9f35_838e_6e7cf3e5edcf
  6c4f87a5_052e_5ad2_3388_1e4392b92a53["ProfilerContext.js"]
  d6e62301_2363_364e_b031_c314353bac29 --> 6c4f87a5_052e_5ad2_3388_1e4392b92a53
  07059aa8_9eba_f159_21a8_d509b802a9c2["Updaters.css"]
  d6e62301_2363_364e_b031_c314353bac29 --> 07059aa8_9eba_f159_21a8_d509b802a9c2
  501f1668_e338_41a4_686c_5b2aee4863b8["types.js"]
  d6e62301_2363_364e_b031_c314353bac29 --> 501f1668_e338_41a4_686c_5b2aee4863b8
  aec7978f_0a19_ba93_de9e_ac8cf5ddc74b["types"]
  d6e62301_2363_364e_b031_c314353bac29 --> aec7978f_0a19_ba93_de9e_ac8cf5ddc74b
  ac587885_e294_a1e9_b13f_5e7b920fdb42["react"]
  d6e62301_2363_364e_b031_c314353bac29 --> ac587885_e294_a1e9_b13f_5e7b920fdb42
  a1b99932_7927_263d_aa52_4f1dbce5079e["SidebarCommitInfo.js"]
  a1b99932_7927_263d_aa52_4f1dbce5079e --> d6e62301_2363_364e_b031_c314353bac29
  style d6e62301_2363_364e_b031_c314353bac29 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import type {CommitTree} from './types';
import type {SerializedElement} from 'react-devtools-shared/src/frontend/types';

import * as React from 'react';
import {useContext} from 'react';
import {ProfilerContext} from './ProfilerContext';
import styles from './Updaters.css';
import {ElementTypeRoot} from '../../../frontend/types';

export type Props = {
  commitTree: CommitTree,
  updaters: Array<SerializedElement>,
};

export default function Updaters({commitTree, updaters}: Props): React.Node {
  const {selectFiber} = useContext(ProfilerContext);

  const children =
    updaters.length > 0 ? (
      updaters.map((serializedElement: SerializedElement): React$Node => {
        const {displayName, id, key, type} = serializedElement;
        const isVisibleInTree =
          commitTree.nodes.has(id) && type !== ElementTypeRoot;
        if (isVisibleInTree) {
          return (
            <button
              key={id}
              className={styles.Updater}
              onClick={() => selectFiber(id, displayName)}>
              {displayName} {key ? `key="${key}"` : ''}
            </button>
          );
        } else {
          return (
            <div key={id} className={styles.UnmountedUpdater}>
              {displayName} {key ? `key="${key}"` : ''}
            </div>
          );
        }
      })
    ) : (
      <div key="none" className={styles.NoUpdaters}>
        (unknown)
      </div>
    );

  return <div className={styles.Updaters}>{children}</div>;
}

Domain

Subdomains

Functions

Frequently Asked Questions

What does Updaters.js do?
Updaters.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in Updaters.js?
Updaters.js defines 1 function(s): Updaters.
What does Updaters.js depend on?
Updaters.js imports 6 module(s): ProfilerContext.js, Updaters.css, react, types, types.js, types.js.
What files import Updaters.js?
Updaters.js is imported by 1 file(s): SidebarCommitInfo.js.
Where is Updaters.js in the architecture?
Updaters.js is located at packages/react-devtools-shared/src/devtools/views/Profiler/Updaters.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views/Profiler).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free