Home / Class/ Persistence Class — react Architecture

Persistence Class — react Architecture

Architecture documentation for the Persistence class in persistence.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  cb7faed5_eb61_7456_6374_d90256e6ed14["Persistence"]
  a825b817_81db_b4a3_cf60_e048f10d8d05["persistence.js"]
  cb7faed5_eb61_7456_6374_d90256e6ed14 -->|defined in| a825b817_81db_b4a3_cf60_e048f10d8d05
  eed64c56_c340_a1af_9fa4_f55eb9b1f8bd["render()"]
  cb7faed5_eb61_7456_6374_d90256e6ed14 -->|method| eed64c56_c340_a1af_9fa4_f55eb9b1f8bd

Relationship Graph

Source Code

fixtures/dom/src/components/fixtures/event-pooling/persistence.js lines 6–60

class Persistence extends React.Component {
  state = {
    persisted: 0,
    pooled: [],
  };

  addPersisted = event => {
    let {persisted, pooled} = this.state;

    event.persist();

    if (event.type === 'mousemove') {
      this.setState({
        persisted: persisted + 1,
        pooled: pooled.filter(e => e !== event),
      });
    }
  };

  addPooled = event => {
    let {pooled} = this.state;

    if (event.type === 'mousemove' && pooled.indexOf(event) === -1) {
      this.setState({pooled: pooled.concat(event)});
    }
  };

  render() {
    const {pooled, persisted} = this.state;

    return (
      <TestCase title="Persistence" description="">
        <TestCase.Steps>
          <li>Mouse over the pooled event box</li>
          <li>Mouse over the persisted event box</li>
        </TestCase.Steps>

        <TestCase.ExpectedResult>
          The pool size should not increase above 1, but reduce to 0 when
          hovering over the persisted region.
        </TestCase.ExpectedResult>

        <h2>Add Pooled Event:</h2>
        <HitBox onMouseMove={this.addPooled} />

        <h2>Add Persisted Event:</h2>
        <HitBox onMouseMove={this.addPersisted} />

        <p>Pool size: {pooled.length}</p>

        <p>Persisted size: {persisted}</p>
      </TestCase>
    );
  }
}

Domain

Frequently Asked Questions

What is the Persistence class?
Persistence is a class in the react codebase, defined in fixtures/dom/src/components/fixtures/event-pooling/persistence.js.
Where is Persistence defined?
Persistence is defined in fixtures/dom/src/components/fixtures/event-pooling/persistence.js at line 6.

Analyze Your Own Codebase

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

Try Supermodel Free