New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

react-stillness-component

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-stillness-component

This package makes react-component static, with all dom operations disabled and invisible, and supports hook as well as class-component

latest
npmnpm
Version
0.9.1
Version published
Maintainers
1
Created
Source

npm version package size LICENSEcodecov

react stillness component

The keep-alive component of react.

supports:

React v16.8+

Features

  • Minimal syntax, only one prop can be used to complete the component state storage
  • Provides both Higher-Order Components and Hooks syntax for managing stilled components
  • There is no additional lifecycle, and listeners are provided to respond to the stillness action
  • Does not affect react's related api, including Context, Error Boundaries, etc., and even SyntheticEvent
  • Automatic lazy loading to improve overall application performance

Usage

  • <StillnessProvider> provides vue keep-alive-like capabilities to your app.

    // index.js
    import React from 'react'
    import ReactDOM from 'react-dom'
    import { StillnessProvider } from 'react-stillness-component';
    import App from './App'
    
    ReactDOM.render(
      <StillnessProvider>
        <App />
      </StillnessProvider>,
      document.getElementById('root')
    )
    
  • Use <Offscreen> to wrap components that need to be prepared for quiescence, and use useStillness to listen for relevant stillness behavior

    // App.js
    import React, { useState } from 'react'
    import { Offscreen,useStillness } from 'react-stillness-component';
    
    function Count() {
      const [count, setCount] = useState(0);
      const collected = useStillness({
        mounted: (contract) => {
          return 'mounted';
        },
        unmounted: (contract) => {
          return 'unmounted';
        },
        collect: (contract) => {
          return {
            isStillness: contract.isStillness(),
            stillnessId: contract.getStillnessId(),
          };
        },
      });
    
      return (
        <div className="count">
          <p>{collected.isStillness}</p>
          <p>class count: {count}</p>
          <button
            onClick={() => {
              setCount((count) => count + 1);
            }}
          >
            Add
          </button>
        </div>
      );
    }
    
    function App() {
      const [show, setShow] = useState(true)
    
      return (
        <div>
          <button onClick={() => setShow(show => !show)}>Toggle</button>
          <Offscreen visible={show}>
            <Count />
          </Offscreen>
        </div>
      );
    }
    
    

For more api and examples, please refer to the documentation

Documentation

See the docs, tutorials and examples on the website:

-Under urgent production

Releases

See the changelog on the Releases page:

https://github.com/leomYili/react-stillness-component/releases

Keywords

react-component

FAQs

Package last updated on 30 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts